我需要实现某种服务器,它首先等待用户连接。我使用C ++和SDL_Net,我的代码当前在循环中检查套接字活动。问题是消耗了大量的CPU性能实际上什么也没做,所以我想知道是否有办法检测连接请求/套接字活动与事件或某种回调注册?我不怕WinAPI所以任何解决方案都是受欢迎的。 提前谢谢你,
文森特
答案 0 :(得分:2)
您可以使用SDLNet_SocketSet
,创建一个,然后查看SDLNet_CheckSockets
和SDLNet_SocketReady
答案 1 :(得分:1)
您使用的是哪种套接字API? Winsock的?如果是这样,您需要在套接字上调用listen()
以等待传入连接。此调用将阻止调用线程,因此在等待时不会使用CPU时间。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms738545(v=vs.85).aspx。