如何在win32中使用socket

时间:2010-01-13 12:45:56

标签: c sockets

我已经创建了在win32服务中运行的套接字程序,但我遇到的问题是,当我启动服务时它将启动并且它正在使用CPU移动其所有最多50%的CPU。我正在使用AMD 64位处理器。

如果我编写一个没有套接字的程序,它就不会使用CPU了。

我应该怎么做才能解决这个问题。

2 个答案:

答案 0 :(得分:2)

您可能需要查看select()之类的内容,以便在等待数据读取时阻止。

如果没有更多细节,很难确切地说出你的问题是什么,但很可能就是这样。

答案 1 :(得分:0)

是的,一段示例代码会有所帮助,但问题很可能是你处于超时循环中。根据您所在的客户端/服务器连接的哪一侧,可以通过使用无限超时调用accept()或select()来解决此问题。在实践中,最好有一个长时间的超时,大约一秒,所以进程/线程可以查找信号并在请求时关闭。

相关问题