不调用WSACleanup的后果

时间:2014-10-22 13:18:05

标签: windows-ce winsock wsastartup wsacleanup

我正在设计一个可在无头Windows CE 6.0设备上运行的应用程序。我们的想法是创建一个应用程序,它将在启动时启动并运行直到关闭电源。 (基本上它看起来像一个服务,但是一个应用程序更容易调试,没有完全的麻烦来停止/部署/启动/附加到处理过程)

我担心的是在开发过程中会发生什么。如果我调试/部署应用程序,我认为无法以友好和简单的方式关闭它。 (如果可以以更好/用户友好的方式完成,请随意建议)我将停止调试器,结果将是WSACleanup未被调用。

现在,问题。不调用WSACleanup的后果是什么?我可以使用调试器再次启动和运行winsock应用程序吗?或者会有资源泄漏阻止我这样做吗?

提前致谢, 杰夫

1 个答案:

答案 0 :(得分:0)

我认为Harry Johnston的评论是正确的。 即使您的应用程序没有UI,您也可以找到一种优雅地关闭它的方法。我假设你在循环中有一个或多个线程,你可以添加一个命名的手动重置事件,在循环条件中检查(或者可以用于等待而不是Sleep())并构建一个使用打开事件的小应用程序同名,设置并退出。这将强制您的服务应用程序关闭。 它可能不需要进行调试,但如果您需要更新软件并且这需要您的主服务没有运行,它可能也很有用。