你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H743 SOCKET堵塞方式设置为非堵塞方式

[复制链接]
qq774524817 提问时间:2018-9-7 00:30 /
大家好,
     我们现在用STM32H743ZIT6,在调试FreeRTOS + LWIP,发现SOCKET为堵塞方式,有什么办法能将socket设置为非堵塞方式?setsockopt函数设置,已经测试过了,不起作用;大神们帮看下,多谢

收藏 评论3 发布时间:2018-9-7 00:30

举报

3个回答
feixiang20 回答时间:2018-9-7 23:05:23
本帖最后由 feixiang20 于 2018-9-7 23:06 编辑

我只知道如下:

windows和linux平台上accept()函数返回的socekt也是阻塞的,linux另外提供了一个accept4()函数,可以直接将返回的socket设置为非阻塞模式

int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

int accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags);

只要将accept4()最后一个参数flags设置成SOCK_NONBLOCK即可。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

tanic 回答时间:2018-9-12 15:26:35
lwip官方手册写的清清楚楚明明白白,不建议在实际项目中使用 socket API。其实自己多开几个线程就能解决了阻塞问题

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

xiaojie0513 回答时间:2018-9-12 21:43:50
自己重写吧??别人提供的不适合自己,,那你就自己尝试用自己的思路重写呗,,,,它阻塞是有时间的,你改为0试试?,,0就是没阻塞时间啊

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版