卢阿索基特select http://w3.impa.br/~diego/software/luasocket/socket.html#select函数应该告诉何时可以在不阻塞的情况下读取套接字。它显然也可以用来告诉服务器套接字何时准备好接受新连接,但是文档给出了以下警告:
另一个重要注意事项:在调用accept 之前,在receive 参数中使用服务器套接字调用select 并不能保证accept 会立即返回。使用settimeout方法,否则accept可能会永远阻塞。
什么情况下可以accept即使 select 告诉它可以安全读取,也会阻止?出于测试目的,有没有办法强制出现此问题?
我不知道他们从哪里得到这个想法。在 20 多年的网络编程生涯中从未见过它。
当然,如果您有多个 select() 线程,则可能会发生这种情况,但如果这是预期的情况,我希望文档会这么说。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)