我有个socket连接数据接收服务的服务端监听,接收的是4G卡连接发送的数据包。由于4G卡的运营商经常更换IP来连接服务端,造成一些旧的连接没断开并不定时报下面的错误日志,然后服务会异常退出。
远程主机强迫关闭了一个现有的连接。--System.Net.Sockets.SocketException (0x80004005)
网上有个解决方案我决定先试一试, 给监听的socket连接加上接收和发送超时时间,比如设置10000毫秒,超时自动断开连接。 期待能解决问题,观察一周试试
socketWatch.ReceiveTimeout = 10000;
socketWatch.SendTimeout = 10000;