OpenEdv-开源电子网

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

TCP服务器测试,调试助手连接不上,出现the socket is marked as nonblocking and the requested operation would block是怎么回事

[复制链接]

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
发表于 2015-12-21 15:12:26 | 显示全部楼层 |阅读模式
5金钱
用的是静态IP192.168.1.30 端口号8088,但是出现the socket is marked as nonblocking and the requested operation would block,and canot be completed immdeiately。
UDP测试和TCP客户端测试都可以。
这个连接不上是什么原因

最佳答案

查看完整内容[请看2#楼]

好吧问题已解决,应该是电脑连接的无线网卡对调试助手连接有影响,下载了抓包工具Wireshark发现,本地链接数据包没有变化,怀疑是网卡影响,把无线网卡拔掉之后,调试助手顺利链接,可以接收到开发板发来的数据,只是跟TCP客户端测试一样,速度太慢,有谁知道怎么提高发送接收速度啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2015-12-21 15:12:27 | 显示全部楼层
好吧问题已解决,应该是电脑连接的无线网卡对调试助手连接有影响,下载了抓包工具Wireshark发现,本地链接数据包没有变化,怀疑是网卡影响,把无线网卡拔掉之后,调试助手顺利链接,可以接收到开发板发来的数据,只是跟TCP客户端测试一样,速度太慢,有谁知道怎么提高发送接收速度啊
回复

使用道具 举报

15

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2015-11-16
在线时间
31 小时
发表于 2015-12-23 16:45:13 | 显示全部楼层
我也在找提高速度的方法。论坛有个例子:LWIP优化测试,速度高多了,没看明白怎么做到的,你看看。
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2015-12-23 17:29:00 | 显示全部楼层
回复【3楼】lrser:
---------------------------------
我看到那个了。那个是带操作系统的,我想要裸奔的那种
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-15 17:22:08 | 显示全部楼层
我开发板是有线连接的路由器,笔记本是无线连接的路由器,然后调试助手做客户端,开发板做服务器,连接时就出现了那句话,连不上the socket is marked as nonblocking and the requested operation would block,and canot be completed immdeiately。而且也PING不通,不知道什么原因
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-15 17:30:19 | 显示全部楼层
我是先运行了自动DHCP获取了网络地址之后才运行TCP_SERVER_TEST(),这个时候PING不通,网络调试助手也连不上
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2016-6-15 18:26:51 | 显示全部楼层
luyongyun 发表于 2016-6-15 17:30
我是先运行了自动DHCP获取了网络地址之后才运行TCP_SERVER_TEST(),这个时候PING不通,网络调试助手也连不上

你用跟网线把开发板和笔记本连接起来。然后把笔记本的无线网禁止掉。这时候是没有DHCP的,注意IP和端口配置,试试,应该没问题的。调试助手记得选择TCP客户端协议下
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-23 16:14:32 | 显示全部楼层
dop101 发表于 2016-6-15 18:26
你用跟网线把开发板和笔记本连接起来。然后把笔记本的无线网禁止掉。这时候是没有DHCP的,注意IP和端口配 ...

我禁用了无线,开发板和计算机是通过路由器有线网络连起来的,开了DHCP功能,开发板能正常自动获得IP,但是网络助手连开发板还是不行,出错还是如上不变
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-23 16:18:57 | 显示全部楼层
网络助手错误提示:the socket is marked as nonblocking and the requested operation would block,and cannot be completed immediately
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2016-6-23 18:26:58 | 显示全部楼层
luyongyun 发表于 2016-6-23 16:14
我禁用了无线,开发板和计算机是通过路由器有线网络连起来的,开了DHCP功能,开发板能正常自动获得IP,但 ...

你ip要配置对。我把有线网也停了。直接设置固定IP。是绝对可以链接上的。你试试。可以了再测DHCP
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-23 20:55:22 | 显示全部楼层
dop101 发表于 2016-6-23 18:26
你ip要配置对。我把有线网也停了。直接设置固定IP。是绝对可以链接上的。你试试。可以了再测DHCP

按照你说的,网络助手显示:未知错误
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-23 21:42:49 | 显示全部楼层
切换成TCP client时,可以ping通,但连接不上
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2016-6-24 10:58:28 | 显示全部楼层
luyongyun 发表于 2016-6-23 21:42
切换成TCP client时,可以ping通,但连接不上

你程序运行的是TCP CLIENT模式,调试助手协议类型要设置成TCP server.IP地址和端口号设置正确。程序是没问题。还是连接不上。就是你板子的硬件有问题
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-25 17:05:07 | 显示全部楼层
dop101 发表于 2016-6-24 10:58
你程序运行的是TCP CLIENT模式,调试助手协议类型要设置成TCP server.IP地址和端口号设置正确。程序是没 ...

计算机的静态网址的网关设成什么呢?
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-28 10:18:58 | 显示全部楼层
dop101 发表于 2016-6-24 10:58
你程序运行的是TCP CLIENT模式,调试助手协议类型要设置成TCP server.IP地址和端口号设置正确。程序是没 ...

板子应该没问题,我用UDP连接时和网络助手通信正常,PING 也正常,但是一旦绑定TCP协议就PING不通,和网络助手也连不上了,一直没查出是哪里的问题
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-28 10:20:31 | 显示全部楼层
@原子哥,能帮分析一下原因吗?
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-28 11:35:15 | 显示全部楼层
下载那个带UCOS的TCP服务器和客户机的程序都正常可用,但RAW的程序只能用UDP,一切换到TCP就都完蛋
回复

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-6-28 12:21:38 | 显示全部楼层
@正点原子 我在网上查到,说开发板TCP服务器时设成非阻塞的模式,上位机要不停发起连接才能联通,但PING功能应该是底层IP完成的,应该没这个问题吧?
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-8-18
在线时间
4 小时
发表于 2016-10-28 23:08:36 | 显示全部楼层
<code>应该是你的client的socket没有用非阻塞的实现.</code><a href="http://www.cnblogs.com/zhangmo/archive/2013/04/02/2995645.html">阻塞和非阻塞的区别</a>
回复

使用道具 举报

4

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-7-18
在线时间
29 小时
发表于 2017-7-31 17:09:09 | 显示全部楼层
正纳闷为什么连不上TCP server 呢,照你说的拔了无线网卡就OK了!谢了!
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-6-11
在线时间
28 小时
发表于 2017-8-27 17:28:28 | 显示全部楼层
Szep 发表于 2017-7-31 17:09
正纳闷为什么连不上TCP server 呢,照你说的拔了无线网卡就OK了!谢了!

请问你是拔掉网卡还是直接禁用的呢?我禁用了还是连接不上。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-9-6
在线时间
2 小时
发表于 2017-9-27 20:27:10 | 显示全部楼层
luyongyun 发表于 2016-6-23 21:42
切换成TCP client时,可以ping通,但连接不上

我现在也遇到了这个问题,能ping通但是网络调试助手连接不上,请问你现在解决了吗?望赐教,感激不尽
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2017-12-2
在线时间
1 小时
发表于 2017-12-2 18:05:36 | 显示全部楼层
各位大侠解决了没有?我也遇到同样的问题,但不是一直连不上,做UDP、TCP CLIENT 都很稳定,做TCP SERVER时,有时候连接正常,只要连接正常后,都比较稳定,但有时候调试助手会提示the socket is marked as nonblocking and the requested operation would block,and cannot be completed immediately,只要出现这个后,就再也连不上,只有重新启动才有机会连接上。我已经是用开发板和电脑直连了。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-19 10:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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