Socket通信 诡异的10050错误 求解

wzy9854 2012-04-23 09:02:25
Socket通信 诡异的10050错误 求解

两台机器socket通信, 服务器端接收数据 多线程连接的时候,客户端会随机爆出10050错误,就是服务端强制关闭了socket,

但是服务器端却依然认为客户端还在连接,并未认为socket已经关闭,依然通过socket阻塞接收数据,客户端就只好重新连接,而

之前失败的socket服务端认为是正确还并未释放,这是怎么回事呢?
...全文
377 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzy9854 2012-04-23
  • 打赏
  • 举报
回复
不是啊,多线程,一般都是第一个线程连接了 发送了几条数据,然后提二条线程连接了,也发送了几条数据,然后莫名其妙的服务器就强制关SOCKET了,-10050,而且服务器自己还认为socket存在, 导致旧的socket不释放,然后客户端重连[Quote=引用 4 楼 的回复:]
要了命了,客户端链接我,然后关闭socket 得有半分钟才能反应过来socket断了 才释放资源,这是什么问题啊?

引用 1 楼 的回复:
发的太早了,周一没人吧.....
[/Quote]
晓敬 2012-04-23
  • 打赏
  • 举报
回复
客户端接受的数据写到文件中监视下,抓下接受的包,抓下服务器发送的包,看看有没有异常包
wzy9854 2012-04-23
  • 打赏
  • 举报
回复
要了命了,客户端链接我,然后关闭socket 得有半分钟才能反应过来socket断了 才释放资源,这是什么问题啊?[Quote=引用 1 楼 的回复:]
发的太早了,周一没人吧.....
[/Quote]
CHERUBINE 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
[/Quote]
大师,有没有详细点的解释啊?
赵4老师 2012-04-23
  • 打赏
  • 举报
回复
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
wzy9854 2012-04-23
  • 打赏
  • 举报
回复
发的太早了,周一没人吧.....
景语 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

没啊...单线程就没事,..多线程就肯定有中途被强制断开的....很诡异啊...然后客户端closesocket了,我这得半分钟才能反应过来...我也就是accpet的正常的流程 不知道怎么会出现这种问题,引用 7 楼 的回复:
您说的太高深了吧...

引用 1 楼 的回复:
发的太早了,周一没人吧.....
[/Quote]

你没上代码还真不好说是什么问题,要不你用netstat命令观察下端口状态,看看有没有异常。
wzy9854 2012-04-23
  • 打赏
  • 举报
回复
没啊...单线程就没事,..多线程就肯定有中途被强制断开的....很诡异啊...然后客户端closesocket了,我这得半分钟才能反应过来...我也就是accpet的正常的流程 不知道怎么会出现这种问题,[Quote=引用 7 楼 的回复:]
您说的太高深了吧...

引用 1 楼 的回复:
发的太早了,周一没人吧.....
[/Quote]
景语 2012-04-23
  • 打赏
  • 举报
回复
我做的FTP也是用多线程,select函数循环监听接收,没有出现上述问题阿。
楼主难道是客户端连接数过多?
wzy9854 2012-04-23
  • 打赏
  • 举报
回复
您说的太高深了吧...[Quote=引用 1 楼 的回复:]
发的太早了,周一没人吧.....
[/Quote]

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧