【发布时间】:2010-12-19 06:11:18
【问题描述】:
标准 Ruby 库“io/wait”在 IO 对象ready? 上提供了一个方法,如果有可用输入则返回非零,否则返回 nil 或 false。我知道sysread 和syswrite 等一些方法不能安全地与gets 和read 等更高级别的方法一起使用,并且想知道ready? 是否可以安全地与更高级别的方法混合使用。 ready 方法似乎比依赖IO.select 更有用,而且可能更优雅,但是,令人惊讶的是,我还没有看到它用得太多。 documentation 中没有任何内容表明与 read 或 gets 一起使用是不安全的,我只是想确保我没有混合不兼容的方法,这些方法最终可能在读/写套接字时导致意外行为.
编辑:我想我应该提到我使用的是 Ruby 1.8.7。
【问题讨论】:
标签: ruby sockets nonblocking io