当前位置: 首页 > news >正文

北京 网站 外包小众电商平台有哪些

北京 网站 外包,小众电商平台有哪些,漯河市住房建设局网站,青海企业网站开发定制声明 本文实现了ESP8266、微信小程序、个人服务器三者互相通信,并且小程序能发消息给微信用户 本文所有代码和步骤均为亲测有效 以下代码均为从网上搜索到后本人加以改动的,并非完全原创,若作者希望删除可联系我 ESP8266与个人服务器通信 ESP8266配置 通过串口通信使用…

声明

本文实现了ESP8266、微信小程序、个人服务器三者互相通信,并且小程序能发消息给微信用户

本文所有代码和步骤均为亲测有效

以下代码均为从网上搜索到后本人加以改动的,并非完全原创,若作者希望删除可联系我

ESP8266与个人服务器通信

ESP8266配置

通过串口通信使用AT指令控制ESP8266,AT指令详细讲解网上很多,自行搜索

复位:

AT+RST\r\n

连接wifi:

AT+CWJAP="601_2.4G","tddsqdhgq15"\r\n

检查ip:

AT+CIFSR\r\n

链接个人服务器,x.x.x.x为个人服务器的公网IP地址,y为个人服务器开放的通信端口:

AT+CIPSTART="TCP","x.x.x.x",y\r\n

ESP8266向个人服务器发送15个字符:

AT+CIPSEND=15\r\n

个人服务器配置

建立tcp_server.cpp文件。

#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <linux/tcp.h>#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/shm.h>#include <pthread.h>#define PORT  8888
#define QUEUE_SIZE   10
#define BUFFER_SIZE 1024#define CHECK_ERROR(sts, status) {if (sts) {printf("CHECK_ERROR:%d %d %d\n%s\n", __FILE__, __FUNCTION__, __LINE__);return status;}}int total_device_num = 0;struct DEVICE_T
{int sockfd;int id;pthread_t tid;char reserved[16];
};DEVICE_T device_t[1000];//传进来的sockfd,就是互相建立好连接之后的socket文件描述符
//通过这个sockfd,可以完成 [服务器]<--->[8266] 互相收发数据void *strPrintf(void *args)
{int sockfd = *((int *)args);char buffer[BUFFER_SIZE];char device_id_string[10];memset(device_id_string, 0, 10);pid_t pid = pthread_self();unsigned int i = 10, j = 0;while(1){memset(buffer,0,sizeof(buffer));//printf("listening sockfd %d\n", sockfd);int len = recv(sockfd, buffer, sizeof(buffer),0);if(strcmp(buffer,"exit\n")==0){printf("child process: %d exited.\n",pid);break;}printf("sockfd:%d receive:%s\n",sockfd,buffer);if ( buffer[0] == 'd' ){for(i = 10; buffer[i] != '_'; i ++)//device_id_123_{if (i > 19){printf("error:i > 24\n");exit(0);}device_id_string[i - 10] = buffer[i];}printf("sockfd:%d id %d\n", sockfd,atoi(device_id_string));for (i = 0; i < total_device_num; i ++){if (sockfd == device_t[i].sockfd){break;}}device_t[i].id = atoi(device_id_string);printf("\n\n\n\n↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 发生设备绑定 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓\n");printf("此设备:编号 %d id %d sockfd %d\n", i, device_t[i].id, device_t[i].sockfd);printf("已经连接的设备总数: %d\n", total_device_num);printf("所有设备信息如下:\n");for (j = 0; j < total_device_num; j ++){printf("device[%d] id %d sockfd %d tid %d\n", j, device_t[j].id, device_t[j].sockfd, device_t[j].tid);}printf("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n\n\n\n");}// fputs(buffer, stdout);struct tcp_info info;int len_tcp_info = sizeof(info);getsockopt(sockfd, IPPROTO_TCP, TCP_INFO, &info, (socklen_t*)&len_tcp_info);int sts_getsockopt = getsockopt(sockfd, IPPROTO_TCP, TCP_INFO, &info, (socklen_t*)&len_tcp_info);printf("设备:编号 %d id %d socket %d tcp状态 %d getsockopt返回值 %d\n", i, device_t[i].id, device_t[i].sockfd, info.tcpi_state, sts_getsockopt);if((info.tcpi_state != 1)|| (sts_getsockopt != 0))  //则说明未断开  else 断开{printf("已经断开链接!!\n");if (total_device_num == 1){device_t[0].id 		= 0;device_t[0].sockfd 	= 0;device_t[0].tid 	= 0;}else{device_t[i].id 		= device_t[total_device_num - 1].id;device_t[i].sockfd 	= device_t[total_device_num - 1].sockfd;device_t[i].tid 	= device_t[total_device_num - 1].tid;device_t[total_device_num - 1].id 		= 0;device_t[total_device_num - 1].sockfd 	= 0;device_t[total_device_num - 1].tid 		= 0;}total_device_num --;close(sockfd);pthread_exit((void **)"线程关闭\n");}else{printf("发送消息:%s\n", buffer);send(sockfd, buffer, len, 0);  //将接收到数据发送回去}}close(sockfd);
}int main(int argc, char **argv)
{int err,i ;pthread_t ntid;//建立本cpp与php之间的通信,此线程一直保存err = pthread_create(&ntid, NULL, PHP_and_TcpServer, NULL);if (err != 0)printf("can't create thread: %d\n", err);//定义IPV4的TCP连接的套接字描述符int server_sockfd = socket(AF_INET,SOCK_STREAM, 0);//定义sockaddr_in
http://www.yayakq.cn/news/257162/

相关文章:

  • 企业网站seo排名优化wordpress主题验证失败
  • 外贸网站制作价格表界面设计心得
  • 建设一个网站多少钱上海最新发布
  • ps和dw 做网站做头像网站静态
  • 阴阳师网站怎么做58招聘求职找工作
  • 什么是网站开发技术中小型网站建设平台
  • 陕西省建设厅三类人员报名网站自己怎么做网站空间
  • 高端品牌网站建设集团青岛建站
  • 如何知道网站的字体怎么做网站的移动端适配版
  • 网站建设策划书ol网站和管理系统的区别
  • 重庆智能网站建设推荐做视频赚钱的国外网站
  • 石家庄网站外包公司商务信息网站
  • 瑞安做企业网站找哪家如皋网站建设
  • 公司网站设计费计入什么科目seo网络推广方法
  • 哪个网站做投票链接模板好看2023年适合小学生的新闻有哪些
  • 中国建设银行亚洲网站装修设计师培训班
  • 厦门网站建设外包维护特效型网站
  • 环保公司网站架构怎么做公司网站 自己是空间服务商 cms
  • 网站制作图书网站建设整体方案
  • 网站建设从入门到精通 网盘笔记本做网站服务器
  • 网站受到攻击 怎么做在线教育网站开发方案
  • 山西网站开发建设昆明旅游网页设计
  • 江西建设信息港网站泰安手机网站建设
  • 动漫网站建设的目的中国免费网站服务器免费下载
  • 网站建设群网站建设 业务
  • 成都企业网站备案流程python培训班
  • 关键词网站排名顾问网络推广外包sem营销外包
  • 新建网站的价格什么网站能让小孩做算术题
  • 网页游戏网站下载政务网站建设需求分析
  • 怎么自己做网站卖东西wordpress md 方程组