Socket异常:你主机中的软件放弃了一个已建立的连接,经常报这个错误

zjysky 2008-12-28 03:35:13
最近搞联通sgip开发,基本流程已经搞定了。但是发现socket开发中,经常报这个错误:Socket异常:你主机中的软件放弃了一个已建立的连接。
不知道怎么回事
我的socket是长连接的模式,connect - send - receive - close.其中send和Receive是多次的。这个错误一般出现在Receive的时候。

各位Windows开发达人来帮忙一下,初次接触socket。
...全文
973 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjysky 2008-12-29
  • 打赏
  • 举报
回复
我的socket程序好像很不健壮啊,运行到中间一些地方就报错,程序就进行不下去,然后就去重新执行了。导致前半部分业务执行了多次,后面的业务都不执行
好郁闷啊
大家看看啊
zjysky 2008-12-29
  • 打赏
  • 举报
回复
应该是长连接模式。联通的sgip协议
jy251 2008-12-28
  • 打赏
  • 举报
回复
问题出在服务端,我想应该是服务端那边使用的是短链接,而你又实用的是长连接,服务端在send之后,就释放掉了你的socket对象,所以你这边就报异常了,
这只是我的猜测,因为之前也碰到过这样的问题,但是你的程序我不清楚,所以只是猜测。
长沙三毛 2008-12-28
  • 打赏
  • 举报
回复
Socket抛出错误的原因比较复杂,如:客户端断开、服务器端断开、网络故障等,有些错误应该忽略掉。请参考:
可扩展多线程异步Socket服务器框架EMTASS 2.0
zjysky 2008-12-28
  • 打赏
  • 举报
回复
补充一下。我使用的就是socket类,没有使用tcp侦探类。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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