主题:TCP SOCKET 10054错误 的疑问 共有34538人关注过本帖 |
---|
BG001 |
1楼 |
![]() |
TCP SOCKET 10054错误 的疑问 ![]()
相同的客户端服务端程序(长连接,不希望中途断开,断开几率很小也可以,通信频率目前大约是平均20秒一次),客户端(WINCE)通过以太网与服务端通信,程序运行3天没一次异常;但通过GPRS与服务端通信,不定时会在服务端和客户端SOCKET读数据的时候捕捉到10054错误(平均一小时1~2次),这是GPRS通信本身的问题还是什么?捕捉到异常重连这个方法我是实现了,但是更希望连接不要断开,另外还有什么解决办法吗?
|
单帖管理 | 引用 | 回复 ![]() |
补充 |
2楼 |
![]() |
![]()
IP_TTL  设置为128了 也是一样的效果
|
单帖管理 | 引用 | 回复 ![]() |
![]() lqk |
3楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
1、GPRS网络有可能不稳定
2、如果较长时间没有数据通信,移动节点服务器可能将连接断开 |
单帖管理 | 引用 | 回复 ![]() |
补充 |
4楼 |
![]() |
![]()
目前大约是20秒通信一次,应该可以排除你说的2,
如果GPRS不稳定导致这种情况 有没有办法补救措施呢? |
单帖管理 | 引用 | 回复 ![]() |
![]() lqk |
5楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
你服务器上会不会有防火墙或其它的软件影响网络通信呢
如果是因为网络原因引起的,除了重连以外,没有更好的办法。 |
单帖管理 | 引用 | 回复 ![]() |
补充 |
6楼 |
![]() |
![]()
通过以太网与GPRS通信的对比,初步认为是网络延时造成的,而和客户端和服务端硬件和程序无关。TCP本身的重传机制、超时机制我不太了解。希望是通过增加TCP超时时间或许可以解决。IP_TTL 值设置得越大,会不会增加TCP超时时间?有什么其它办法没有?
|
单帖管理 | 引用 | 回复 ![]() |