初涉网络编程,当客户端异步读消息时,在回调函数中EndRead时出错,错误消息:无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。
奇怪的地方在于,当客户端与服务端都在本地测试时,都不会出现这些异常。
现在把服务器架到外网,也不是都没有接收成功,而是接收成功几次后出现异常。有时即使服务器没有发送消息也会出错。出错消息都如上。
哦对了,因为主要想让服务器有消息时主动发送到客户端,所以用长连接。
求高手帮助

解决方案 »

  1.   

    检测一下外网服务器和本地机器的连接状况是不是良好。还是时断时续?我们美国有一台服务器,用socket连接的时候总是这样。。网络状态不好
      

  2.   

    这个外网其实是公司内部的路由器,网络状态应该还好。
    我试过了,如果在内部局域网,例如客户端IP:192.168.1.100;服务器端IP:192.168.1.101;这样完全正常。
    但只要把服务器端改为用路由器映射的一个外网IP,就会出现上面的错误。
    不知道是不是因为外网传输时速度较慢,而我服务器端程序处理的不好导致