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

解决方案 »

  1.   

    补充一下。我使用的就是socket类,没有使用tcp侦探类。
      

  2.   

    Socket抛出错误的原因比较复杂,如:客户端断开、服务器端断开、网络故障等,有些错误应该忽略掉。请参考:
    可扩展多线程异步Socket服务器框架EMTASS 2.0
      

  3.   

    问题出在服务端,我想应该是服务端那边使用的是短链接,而你又实用的是长连接,服务端在send之后,就释放掉了你的socket对象,所以你这边就报异常了,
    这只是我的猜测,因为之前也碰到过这样的问题,但是你的程序我不清楚,所以只是猜测。
      

  4.   

    应该是长连接模式。联通的sgip协议
      

  5.   

    我的socket程序好像很不健壮啊,运行到中间一些地方就报错,程序就进行不下去,然后就去重新执行了。导致前半部分业务执行了多次,后面的业务都不执行
    好郁闷啊
    大家看看啊