winsock错误,有熟悉10055号错误代码的高手请进!
我写了一个tcp client端程序,基于事件动态起线程。换句话说,一旦我定义的时间触发,就起一个线程,所有通讯工作在线程中完成(其实就是向远端的tcp server发包,然后等远端回一个确认信息,通讯即告结束,线程也到此结束)。程序不管是思路还是代码,都很简单,但是,实际运行起来,确有一个bug,就是当运行一段时间,(大概收发十几万个包左右吧),windows将整个停顿。就是说,除了按3个键调出任务管理器之类的底层事件还有反映之外,其他动作一概不相应。当然,更不用说同远端的通讯了。
查看日志,发现最后的错误代码是10055,msdn 中是这样解释的:
WSAENOBUFS
(10055)
No buffer space available.
An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
什么意思呢?
请问有哪位仁兄曾经碰到过类似的错误代码?一齐分析一下原因。