在socket中接收msg的无限循环内部的替代方式

时间:2015-09-08 05:39:11

标签: c++ c

在无限循环中,我不断检查来自套接字的接收消息并在循环中使用usleep()。但是我希望在没有使用无限循环内的usleep()的情况下使用替代方法。怎么做??

2 个答案:

答案 0 :(得分:2)

请勿拨打usleep。我永远不明白为什么有人会这样做。在recv中使用阻塞套接字和阻止,或在selectpoll中使用非阻塞套接字和阻止。

遵循您可以找到的任何合理的示例代码的模式,但如果您不知道自己在做什么,就不要制定反模式。

答案 1 :(得分:-1)

调用线程的执行可以通过调用usleep()使其休眠一段时间。 另一种方法是定义一个新的Thread来模仿中断(usleep),比如等待来自键盘的输入或信号的类型(这需要是周期性的,因为线程必须被恢复以处理响应线程)。 但是我的建议是为什么在有更简单的方法时让事情变得复杂。