处理从accept()返回的套接字的正确方法是什么?
处理从处理从accept()返回的套接字的正确方法是什么?,c,windows,sockets,klocwork,C,Windows,Sockets,Klocwork,处理从accept()返回的套接字的正确方法是什么 我们在代码上运行Klocwork,它抱怨资源泄漏,即使使用了closesocket()。这可能是误报还是有更好/正确的方法处理返回的套接字 中有一个accept()示例,但它不包括任何清理 处理从accept返回的套接字的正确方法是对其调用closesocket 由于某种原因,您的代码不总是调用closesocket,或者这是一个误报。您的代码是否有可能在接受连接后无法调用closesocket()?例如,它是否抛出任何会导致closesock
accept()
返回的套接字的正确方法是什么
我们在代码上运行Klocwork,它抱怨资源泄漏,即使使用了closesocket()
。这可能是误报还是有更好/正确的方法处理返回的套接字
中有一个
accept()
示例,但它不包括任何清理 处理从accept
返回的套接字的正确方法是对其调用closesocket
由于某种原因,您的代码不总是调用
closesocket
,或者这是一个误报。您的代码是否有可能在接受连接后无法调用closesocket()?例如,它是否抛出任何会导致closesocket()未被调用(从而导致资源泄漏)的异常?静态代码分析可以识别这些“早期退出”或执行流的更改,这些更改可能不会通过读取代码立即显现出来。不,它会分别标记这些更改,例如,三个不同的代码路径=三个不同的资源泄漏标记。MSDN代码存在错误闭合插座(ListenSocket);'在两个地方被称为。其中一个应该已经关闭了accept套接字。