IOCP几个钟头后完全拒绝客户端TCP连接
IOCP几个小时后完全拒绝客户端TCP连接
一个软件中,支持远程多个客户端TCP连接,服务器端用IOCP功能。
在异常测试中,远程客户端100个左右,5分钟左右断开一次,大约经历3-6个小时左右,客户端TCP连接完全被拒绝,一个也连接不进来。每个客户端每秒数据流量不到1K。现在已经明确,ACCEPTEX所在线程正常,IOCP的工作线程也正常。用TCPVIEW软件看服务器,端口还在正常监听,没有任何死连接,windows任务管理器看内存,完全正常,稳定。ACCEPTEX线程就是收不到任何连接。请各位有没有人知道,可能是什么原因导致的?或有什么好办法可以分析可能是哪里 有问题了。折磨我好几天了。没有多少分,但已经是我全部的分,请大家帮帮忙!!多谢!:)
------解决方案--------------------
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!
------解决方案--------------------
无代码无真相
。。。
你客户端连接失败的错误码是多少啊
------解决方案--------------------
10060 是 timeout
10060的情况可能 防火墙上做了流量限制了等等
10061 是 connection refused
10061的情况可能 并发连接太多 而你bind设置的backlog太小
。。。。 你到底是哪一个。。。
------解决方案--------------------
用procexp观察你的进程信息。
或者用procmon监视你的进程正在干啥。
http://technet.microsoft.com/zh-cn/sysinternals/default
一个软件中,支持远程多个客户端TCP连接,服务器端用IOCP功能。
在异常测试中,远程客户端100个左右,5分钟左右断开一次,大约经历3-6个小时左右,客户端TCP连接完全被拒绝,一个也连接不进来。每个客户端每秒数据流量不到1K。现在已经明确,ACCEPTEX所在线程正常,IOCP的工作线程也正常。用TCPVIEW软件看服务器,端口还在正常监听,没有任何死连接,windows任务管理器看内存,完全正常,稳定。ACCEPTEX线程就是收不到任何连接。请各位有没有人知道,可能是什么原因导致的?或有什么好办法可以分析可能是哪里 有问题了。折磨我好几天了。没有多少分,但已经是我全部的分,请大家帮帮忙!!多谢!:)
IOCP
TCP
拒绝连接
------解决方案--------------------
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!
------解决方案--------------------
无代码无真相
。。。
你客户端连接失败的错误码是多少啊
------解决方案--------------------
10060 是 timeout
10060的情况可能 防火墙上做了流量限制了等等
10061 是 connection refused
10061的情况可能 并发连接太多 而你bind设置的backlog太小
。。。。 你到底是哪一个。。。
------解决方案--------------------
用procexp观察你的进程信息。
或者用procmon监视你的进程正在干啥。
http://technet.microsoft.com/zh-cn/sysinternals/default