【问题标题】:How to use socket in win32win32如何使用socket
【发布时间】:2010-01-13 12:45:56
【问题描述】:

我已经创建了在 win32 服务中运行的套接字程序,但我面临的问题是,当我启动该服务时,它会启动并且它正在使用 CPU 移动其全部 50% 的 CPU。我正在使用 AMD 64 位处理器。

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

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

【问题讨论】:

  • 显示问题的 short 示例(可作为控制台运行)会有所帮助。

标签: c sockets


【解决方案1】:

您可能需要查看@987654321@ 之类的内容,以便在等待数据读取时进行阻止。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 2015-10-06
      • 2017-07-18
      相关资源
      最近更新 更多