想看几个LWIP的TCP通信的实例,哪位大神能给两个自己写的
问题描述
- 精选答案
-
你的问题不是很详细 如果是不知道位置:在LWIP的tcp_active_pcbs==tcp_active_pcbs->next如果是非阻塞的方式运行: 现在的用法,还是用sys_thread_new创建的,在tcpclient中这样处理的,但连接如果是server主动断掉可以检测到,但如果是其他原因,如网络错误之类的就检测不到了。
intfd; FD_ZERO(&fdR); FD_SET(sock,&fdR); switch(select(sock+1,&fdR,NULL,NULL,&timeout)) { case-1: { lwip_close(sock); rt_free(recv_data); recv_data=RT_NULL; GPIOB->BSRR=GPIO_Pin_5;//灭灯 return0; } case0: break; default: { if(FD_ISSET(fd,&fd...你的问题不是很详细 如果是不知道位置:
在LWIP的tcp_active_pcbs==tcp_active_pcbs->next如果是非阻塞的方式运行: 现在的用法,还是用sys_thread_new创建的,在tcpclient中这样处理的,但连接如果是server主动断掉可以检测到,但如果是其他原因,如网络错误之类的就检测不到了。 intfd; FD_ZERO(&fdR); FD_SET(sock,&fdR); switch(select(sock+1,&fdR,NULL,NULL,&timeout)) { case-1: { lwip_close(sock); rt_free(recv_data); recv_data=RT_NULL; GPIOB->BSRR=GPIO_Pin_5;//灭灯 return0; } case0: break; default: { if(FD_ISSET(fd,&fdR)) { intnread; ioctlsocket(fd,FIONREAD,&nread)
; if(nread==0) { //close lwip_close(sock); rt_free(recv_data); recv_data=RT_NULL; GPIOB->BSRR=GPIO_Pin_5;//灭灯 return0; } else { bytes_received=recv(sock,recv_data,1024,0)
; if(bytes_received==0) { //close lwip_close(sock); rt_free(recv_data); recv_data=RT_NULL; GPIOB->BSRR=GPIO_Pin_5;//灭灯 return0; } else { recv_data[bytes_received]='
0'; //*****数据解析******* if(Check_frame(recv_data)==1) { link((u8_t*)recv_data,sock); } } } } break; } }
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















