Ruby中socket编程时出现recv for buffered IO (IOError) 错误的解决方法
用Socket作异步编程时,检验对端是否已经关闭不能用Socket#eof?,因为这样会造成Ruby将此Socket的IO对象转换成Buffered IO,从而导致recv,recvfrom系列函数读取失败,出现“recv for buffered IO (IOError)”错误。在Buffered IO上只能调用可能会阻塞的read,readline,gets系列函数,严重影响了异步通信服务器的
原创
2006-05-25 13:24:00 ·
2301 阅读 ·
0 评论