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

免费手机网站制作app临沂网站建设 百度优化

免费手机网站制作app,临沂网站建设 百度优化,各大网站开发语言,ps做的网页怎么导入网站1.windows配置 首先是windows端#xff0c;启动TCP服务端#xff0c;用来监听指定的端口号#xff0c;其中IP地址可以设置为任意#xff0c;否则服务器可能无法正常打开。 addrSer.sin_addr.S_un.S_addr INADDR_ANY; recv函数用来接收客户端传输的数据#xff0c;其中…1.windows配置 首先是windows端启动TCP服务端用来监听指定的端口号其中IP地址可以设置为任意否则服务器可能无法正常打开。 addrSer.sin_addr.S_un.S_addr INADDR_ANY; recv函数用来接收客户端传输的数据其中sum表示接收到的字节数。 为了能将接收到的char数据转换成16进制形式方便与发送数据进行比对。 rece ToHexString((unsigned char*)recvbuf, sum); 这里sum不能替换为strlen(recvbuf)strlen在检测到00后会自动结束打印的数据不全。 string ToHexString(unsigned char* input, int datasize) {stringstream ss;ss setbase(16) setfill(0);for (int i 0; i datasize; i)ss setw(2) (UINT)input[i];return ss.str(); } TCP接收到的不是一个一个的数据而是一段一段的数据中间可能包含着多条信息需要根据起始位将信息提取出来。 vectorint positions findAllSubstringPositions(rece, aaa55a); vectorstring s; if(positions.size()0){s.push_back(rece.substr(0, positions[0] 2));for (int i 1; i positions.size(); i) {cout positions[i - 1] endl;s.push_back(rece.substr(positions[i-1] 2, positions[i]- positions[i - 1]));}s.push_back(rece.substr(positions[positions.size()-1]2)); } else {s.push_back(rece); } for(int j0;j positions.size();j)cout s[j] endl; 这里由于不知道一段包含命令的个数所以用vector容器来存放比较合适同时substr第一个参数是起始位置第二个参数是需要提取字符串的长度不是终止位置。 2.WSL配置 WSL作客户端用来监听串口数据并返还给服务端。 第一步让WSL可以检测到USB powershell输入usbipd list查看当前USB设备电脑间测试需要串口盒辅助另外一台电脑打开串口调试助手向WSL发送十六进制数据 usbipd bind --busid 1-6   共享串口 usbipd attach --wsl -b 1-6   附加USB设备到WSL上 WSL输入lsusb检测当前USB设备 ls /dev/tty*查看USB设备的端口号 第二步WSL开启串口监听 根据查询到的端口号配置端口 //listen uartfd1 open( /dev/ttyS9, O_RDWR);if (fd1 -1) {printf(open error!\n);}int nset set_opt(fd1, 115200, 8, N, 1);if (nset -1) {printf(set error!\n);} 第三步配置接收线程 主函数开启线程std::thread uart(uart_read); while(1)循环里连续接收n read(fd1, send_buf, UART_BUFF); n表示接收到的字符串长度这里read可能会分段接收加入起始位和长度的判断 if(n0){if(n2){if(ToHexString((unsigned char*)send_buf,2) a55a){flag1;count0;memset(rece_buf,\0,UART_BUFF);numchar (unsigned char)send_buf[2];sum (int)numchar;}}if(flag){for(int icount;i(countn);i){rece_buf[i] send_buf[i-count];}count n;if(sum (count-2)){cout ToHexString((unsigned char*)rece_buf,sum2) endl;lensend(client_sockfd, rece_buf, count, 0);//TCP客户端发送count 0;}else if(sum (count-2)){flag 0;count 0;}}} 这里数据的长度为unsigned char类型用int强转 count表示接收到的字符串长度其中rece_buf不能使用strcat来进行拼接还是00的问题。 第四步文件编译 一般的文件编译使用gcc -o 工程名 工程文件的格式 而std::thread则要 g -o 工程名 工程文件名 -lpthread -stdc11 执行 ./工程名 完整代码 #includeiostream #includecstring #includeunistd.h #includesys/types.h #includesys/socket.h #includenetinet/in.h #includearpa/inet.h #include termios.h #include stdio.h #include fcntl.h #include sys/stat.h #include unistd.h #include thread #include time.h #include exception #include syslog.h #include stdlib.h #include sstream #include iomanip #include stringusing namespace std; typedef unsigned int UINT; #define UART_BUFF 2048int client_sockfd; int len; int fd1-1;string ToHexString(unsigned char* input, int datasize) {stringstream ss;ss setbase(16) setfill(0);for (int i 0; i datasize; i)ss setw(2) (UINT)input[i];return ss.str(); }int set_opt(int fd,int nSpeed, int nBits, char nEvent, int nStop) {struct termios newtio,oldtio;if ( tcgetattr( fd,oldtio) ! 0){perror(SetupSerial 1);return -1;}bzero( newtio, sizeof( newtio ) );newtio.c_cflag | CLOCAL | CREAD;newtio.c_cflag ~CSIZE;switch( nBits ){case 7:newtio.c_cflag | CS7;break;case 8:newtio.c_cflag | CS8;break;}switch( nEvent ){case O:newtio.c_cflag | PARENB;newtio.c_cflag | PARODD;newtio.c_iflag | (INPCK | ISTRIP);break;case E:newtio.c_iflag | (INPCK | ISTRIP);newtio.c_cflag | PARENB;newtio.c_cflag ~PARODD;break;case N:newtio.c_cflag ~PARENB;break;}switch( nSpeed ){case 2400:cfsetispeed(newtio, B2400);cfsetospeed(newtio, B2400);break;case 4800:cfsetispeed(newtio, B4800);cfsetospeed(newtio, B4800);break;case 9600:cfsetispeed(newtio, B9600);cfsetospeed(newtio, B9600);break;case 115200:cfsetispeed(newtio, B115200);cfsetospeed(newtio, B115200);break;case 460800:cfsetispeed(newtio, B460800);cfsetospeed(newtio, B460800);break;default:cfsetispeed(newtio, B9600);cfsetospeed(newtio, B9600);break;}if( nStop 1 )newtio.c_cflag ~CSTOPB; else if ( nStop 2 )newtio.c_cflag | CSTOPB;newtio.c_cc[VTIME] 0;newtio.c_cc[VMIN] 0;tcflush(fd,TCIFLUSH);if((tcsetattr(fd,TCSANOW,newtio))!0){perror(com set error);return -1;}return 0; }void uart_read(){char send_buf[UART_BUFF];int flag0;int sum0,count0;char rece_buf[UART_BUFF];char send_buf_use[UART_BUFF];string numStr;unsigned char numchar;int n;while(1){n read(fd1, send_buf, UART_BUFF);//cout n endl;if(n0){if(n2){if(ToHexString((unsigned char*)send_buf,2) a55a){flag1;count0;memset(rece_buf,\0,UART_BUFF);numchar (unsigned char)send_buf[2];sum (int)numchar;// cout ToHexString((unsigned char*)send_buf,n) *** endl;}}if(flag){cout ToHexString((unsigned char*)send_buf,n) *** endl;for(int icount;i(countn);i){rece_buf[i] send_buf[i-count];}count n;//cout ToHexString((unsigned char*)rece_buf,count) endl;if(sum (count-2)){cout ToHexString((unsigned char*)rece_buf,sum2) endl;lensend(client_sockfd, rece_buf, count, 0);count 0;}else if(sum (count-2)){flag 0;count 0;}}}//else//usleep(5000);}return; }int main() {struct sockaddr_in remote_addr;char recv_buf[UART_BUFF];char send_buf[UART_BUFF];memset(remote_addr, 0, sizeof(remote_addr));remote_addr.sin_familyAF_INET;remote_addr.sin_addr.s_addrinet_addr(192.168.192.100);remote_addr.sin_porthtons(6666);//listen uartfd1 open( /dev/ttyS9, O_RDWR);if (fd1 -1) {printf(open error!\n);}int nset set_opt(fd1, 115200, 8, N, 1);if (nset -1) {printf(set error!\n);}//IPv4 tcpif((client_sockfdsocket(PF_INET, SOCK_STREAM, 0))0){coutsocket error;return 1;}if(connect(client_sockfd, (struct sockaddr*)remote_addr, sizeof(struct sockaddr))0){coutconnect error;return 1;} coutconnected to serverendl;std::thread uart(uart_read);while(1){usleep(100);}uart.join();close(client_sockfd);close(fd1);return 0; }
http://www.w-s-a.com/news/310063/

相关文章:

  • 免费注册店铺位置sem seo什么意思
  • 建筑网站搜图电子商务网站建设渠道
  • 学校网站内容四川手机网站开发
  • 网站制作公司违法商业网站运营成本
  • 显示佣金的网站是怎么做的广告设计主要做哪些
  • 做阿里网站的分录济南seo网站排名关键词优化
  • 北京建设银行纪念钞预定官方网站wordpress中文优化版
  • 宝安做棋牌网站建设找哪家效益快创意设计师个人网站
  • 做线上网站需要多少钱系统开发板价格
  • 建筑企业登录哪个网站wordpress feed地址
  • 网站建设流程百科提升seo搜索排名
  • 杭州网站建设 巴零做销售怎么和客户聊天
  • 北京自己怎样做网站wordpress oauth2插件
  • 上海800做网站wordpress建站的好处
  • 婚纱摄影网站设计模板如何做好网站内容
  • cdn网站加速招商计划书模板ppt
  • 我在某网站网站做代理开发小程序外包
  • 设计网站国外商城网站的建设费用
  • 网站开发工作需要什么专业学做网站游戏教程
  • 电子商务网站规划 分析 设计杭州网站优化平台
  • 汕头企业自助建站系统网站后台登陆验证码无法显示
  • 宁波网站制作服务做外贸推广自己网站
  • php 微信 网站开发青岛网站互联网公司
  • 网站软件免费下载大全网站建设开发价格高吗
  • asp网站制作软件上海做网站制作
  • 福田区住房和建设局网站好搜搜索引擎
  • 平面设计师看的网站济南机场建设
  • 俄文网站开发翻译平台页面设计模板
  • 建设在线购物网站淮南电商网站建设价格
  • 龙泉市旅游门户网站建设wordpress faq插件