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

发表在 Network2019-9-18 11:11 [复制链接] 6 312

        我在应用“多线程非阻塞网络编程教程”时,通信流程为:服务器->net->板子->uart6->,->uart6->板子->net->服务器,finsh用的时uart1,通信时出现奇怪的问题:服务器向板子发数据时,必须在控制台finsh上有键盘操作,数据才能通过uart6发送出去;板子通过uart6接收数据,通过net向服务器发送时,服务器端网络调试助手必须要再次发送数据才能接收到数据。请问这个问题是怎么回事?3 j1 o4 K. M% t2 i9 X; l
        感觉是跟网络这部分程序有关系,板子直接向uart6发送数据是正常的。2 ^1 C, E' M. e9 o' Y& o

( D0 [, a4 c) D& p0 m  R' Q
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-9-18 18:23:26 | 显示全部楼层
如果是和网络部分程序有关系,可以介绍一下网络部分程序是怎么设计的
使用道具 举报 回复
发表于 2020-2-21 15:12:23 | 显示全部楼层
您好,我也遇到了相同的问题,请问你是怎么解决的
使用道具 举报 回复
发表于 2020-2-21 21:28:59 | 显示全部楼层
时间有点长了,当时好像在env配置工程时好像在socket菜单里少选了配置,应该都选上。
使用道具 举报 回复
发表于 2020-2-22 01:21:34 | 显示全部楼层
socket编程的话还是建议使用select方式实现非阻塞式,使用多任务的方式会比较耗内存。另外你这个代码可以贴出来吗?按你这样描述着uart1的串口怎么会跟程序有关系呢?是否是驱动实现的有问题。
使用道具 举报 回复
发表于 2020-2-23 19:04:21 | 显示全部楼层
summerxyh 发表于 2020-2-21 21:28
# B5 v: ~; ?# p/ p$ I5 X( X时间有点长了,当时好像在env配置工程时好像在socket菜单里少选了配置,应该都选上。 ...

" Z5 _* r5 s/ O* ^勾选socker抽象层下面的“使能由文件系统API操作的BSD套接字”,问题就可以解决了,但是不知道为什么
使用道具 举报 回复
发表于 2020-2-26 09:31:38 | 显示全部楼层
刺刺赐 发表于 2020-2-23 19:04) Y0 \0 l# j* m) r! V% c
勾选socker抽象层下面的“使能由文件系统API操作的BSD套接字”,问题就可以解决了,但是不知道为什么 ...

7 W" I; ~# _1 n" d: \对,我也是这样解决的,同样也不知道为什么不知道有没有高手讲解一下。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  1. 9 主题
  2. 129 帖子
  3. 129 积分

Ta的主页 发消息

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

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