如何在Perl套接字中进行非阻塞的接收?

4

当在非阻塞模式下设置套接字,但在使用TCP套接字进行recv调用时发现该调用仍然是阻塞的,该如何实现Perl套接字上的非阻塞recv?

3个回答

3
如果你正在寻找一个更简单的接口来使用 select, mobrule 提到的 IO::Select 为此提供了面向对象的接口。

1
IO::Socket 还提供了一些不错的 API 清理。我总是使用 IO::Select 和 IO::Socket 而不是内置函数。这个 API 更容易使用。 - daotoad

2
尝试在您的recv调用中传递MSG_DONTWAIT标志。

2

在尝试从套接字中 recv 数据之前,使用 4 个参数的 select 版本来检查套接字上是否有输入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接