社区
C++ 语言
帖子详情
SOCket 通信问题
detrisun
2011-04-20 10:36:19
做法:通过一个客户端同时监控多个服务端。
客户端主动连接每一个服务端,成功后,创建接收线程接收服务端的数据,并放入QueueUserwork 线池中。
但是当连接成功30左右个服务端后,创建的接收线程就收不到服务端的数据了,报错:10057、10060。
原因何在:?
...全文
138
10
打赏
收藏
SOCket 通信问题
做法:通过一个客户端同时监控多个服务端。 客户端主动连接每一个服务端,成功后,创建接收线程接收服务端的数据,并放入QueueUserwork 线池中。 但是当连接成功30左右个服务端后,创建的接收线程就收不到服务端的数据了,报错:10057、10060。 原因何在:?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dangde_1
2011-04-20
打赏
举报
回复
你可以查一查10057是什么错误, 10057:由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。
再者,你的 connect 是用的异步还是同步的?如果是同步的 connect ,你完全可能等到这个函数返回,如果已经设置成异步的,这个你就要多考虑一些问题, select write 事件,然后用 getsockopt 来判断一下有没有错误发生。 如果确实是连接上了,就不该有这两个错误发生。
detrisun
2011-04-20
打赏
举报
回复
内存没有异常。
程序会在收到服务端的信息后,退出线程。
然后在另一个线程中遍历连接所有的服务端,完毕后再重新遍历。
只能成功Recv30个左右的服务端信息,非常奇怪啊!!!!!!!!!!!!
justrun2005
2011-04-20
打赏
举报
回复
可能是占用的内存已经达到2G限制了。
detrisun
2011-04-20
打赏
举报
回复
conn 到Recv 约 120 秒以内
detrisun
2011-04-20
打赏
举报
回复
是的。无论是从服务端列表的前端开始还是后面开始都是不到30 个。
因为是把recv放在QueueUserworkItem中执行的,所以从conn到recv 的这段时间不好把握
magicyang87
2011-04-20
打赏
举报
回复
感觉应该是你的conn线程请求发完 等你的recv线程到那个时创建的套接字已经自己关闭了吧 是每次都到30个就不能再接收了?从conn到recv大约隔多长时间?
赵4老师
2011-04-20
打赏
举报
回复
应该是33个线程,和全局变量int socket[33],每个线程使用自己对应的那个socket[i]连接各自的服务器,recv,send,线程只有在进程退出时随之退出,否则不要退出。
detrisun
2011-04-20
打赏
举报
回复
谢谢各位的回答,感激不尽。麻烦能否帮忙再分析一下:
实际情况是这样的:有33台服务端,一个客户端。客户端需要实时监控每个服务端的状态。
采用的思想:一个conn线程:用来循环连接每一台服务端。 一个Recv 线程池:接收服务端的状态。
线程池中的线程函数:接收到一台服务端发送的5个状态包后,退出线程。
但是当Recv成功了30 台服务端后,Recv不到其他服务端的信息。但是那些服务端确实是连接好了,并已经开始不断的发送状态了。但客户端的QueueUserWork线程池中的Recv线程函数就是接收不到。
android
socket
通信
实例程序
这是android
socket
通信
的实例程序,具体请参考: http://blog.csdn.net/htttw/article/details/7574372
C#的
Socket
实现UDP协议
通信
C#的
Socket
实现UDP协议
通信
CSharp
android在wifi下手机与电脑的
socket
通信
代码完整,手机做服务端,电脑做客户端;也可以反过来,电脑做服务端,手机做客户端。修改积分000000000000000000000000000
C#
Socket
简单例子(服务器与客户端
通信
)
这是两个很简单的程序(服务端、客户端) 达成两端之间的
通信
例子。
Socket
用
socket
实现聊天室1.1版
加了一个新功能,代码再加了些注释。
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章