OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 27|回复: 0

lwip 接收阻塞模式下,如何发送数据

[复制链接]

32

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2020-5-21
在线时间
60 小时
发表于 前天 20:47 | 显示全部楼层 |阅读模式
1金钱
freertos 线程中:
   while(1) {
                       
                               

        sockfd = socket(AF_INET, SOCK_STREAM, 0);
        bind(sockfd, (struct sockaddr *)&clt_addr, sizeof(clt_addr));
        connect(sockfd, (struct sockaddr *)&svr_addr, sizeof(svr_addr));

        while(-1 != sockfd) {
            recvnum = recv(sockfd, buf, MAX_BUF_SIZE, 0);
                       
        }

        lwip_close(sockfd);
        sockfd = -1;
    }

接收正常,发现recv函数是阻塞模式。现在需要在另一个线程中 不断 发送数据,
   while(1) {
        send(...);
         vTaskDelay(250);


      }

结果发现收发都不运行。是否改成非阻塞接收,如何改,查到有用lwip_setsockopt(sockfd, SOL_SOCKET, SO_NONBLOCK, &nonblock, sizeof(nonblock));
但是没有定义SO_NONBLOCK。请指教,谢谢!
                       


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-25 00:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表