一:
如标题所示,程序抛出异常:connect failed error 10055。
经过一番百度搜索,最后确定是通信端口不足导致的。试图用以下两个方法解决:
1,注册表中MaxUserPort的值由5000改为65534.
2,setsocketopt函数中设置SO_REUSEADDR选项,表示在TIME_WAIT期间端口可以被新连接使用。
结果:还是会抛出此异常,问题没有解决。
二:
是不是解决问题的方向错了?
google里搜索一阵子
最后发现可能是句柄泄露,顺着这个思路查看,程序中果然有个模块打开句柄5万多个。把句柄泄露问题解决了,此问题最后得以解决
三:总结
1,尽量用google搜索
2,尽量用英文关键字,多用msdn关键字,学会选择合适的关键字进行搜索。找到问题的原因了,此问题就解决了一大半。
本文介绍了一个程序中出现的ConnectFailedError10055异常问题及其解决方案。起初尝试通过调整注册表MaxUserPort值及使用setsockopt函数设置SO_REUSEADDR选项来解决端口不足的问题,但未奏效。最终发现并修复了句柄泄露问题,成功解决了异常。

3227

被折叠的 条评论
为什么被折叠?



