多线程非阻塞网络编程教程应用问题

发布于 2019-09-18 11:11:24    浏览:627
我在应用“多线程非阻塞网络编程教程”时,通信流程为:服务器->net->板子->uart6->,->uart6->板子->net->服务器,finsh用的时uart1,通信时出现奇怪的问题:服务器向板子发数据时,必须在控制台finsh上有键盘操作,数据才能通过uart6发送出去;板子通过uart6接收数据,通过net向服务器发送时,服务器端网络调试助手必须要再次发送数据才能接收到数据。请问这个问题是怎么回事?
感觉是跟网络这部分程序有关系,板子直接向uart6发送数据是正常的。

查看更多

6 个回答
wuhanstudio
wuhanstudio 2019-09-18
This guy hasn't written anything yet
如果是和网络部分程序有关系,可以介绍一下网络部分程序是怎么设计的
刺刺赐
刺刺赐 2020-02-21
This guy hasn't written anything yet
您好,我也遇到了相同的问题,请问你是怎么解决的
summerxyh
summerxyh 2020-02-21
This guy hasn't written anything yet
时间有点长了,当时好像在env配置工程时好像在socket菜单里少选了配置,应该都选上。
nongxiaoming
nongxiaoming 2020-02-22
This guy hasn't written anything yet
socket编程的话还是建议使用select方式实现非阻塞式,使用多任务的方式会比较耗内存。另外你这个代码可以贴出来吗?按你这样描述着uart1的串口怎么会跟程序有关系呢?是否是驱动实现的有问题。
刺刺赐
刺刺赐 2020-02-23
This guy hasn't written anything yet
summerxyh 发表于 2020-2-21 21:28
时间有点长了,当时好像在env配置工程时好像在socket菜单里少选了配置,应该都选上。 ...


勾选socker抽象层下面的“使能由文件系统API操作的BSD套接字”,问题就可以解决了,但是不知道为什么:L
summerxyh
summerxyh 2020-02-26
This guy hasn't written anything yet
刺刺赐 发表于 2020-2-23 19:04
勾选socker抽象层下面的“使能由文件系统API操作的BSD套接字”,问题就可以解决了,但是不知道为什么 ...


对,我也是这样解决的,同样也不知道为什么:(不知道有没有高手讲解一下。

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
627

发布
问题

分享
好友

手机
浏览

扫码手机浏览