Ruby 2.5 的文档
说对于:
myTCPServer = Socket.tcp(host, port, nil, nil, :connect_timeout=60)
,
它接受的唯一选项是:connect_timeout
.
(Ruby 2.0 的文档可能有一个复制粘贴错误,声称这:timeout
是另一个选项,但没有说明该选项的作用。无论如何,该选项在 Ubuntu 18.04 LTS 上的 2.5.1p57 中不起作用。)
gem tcp_timeout是制作 TCP 套接字的最佳方法,其连接的会话可以在指定的持续时间内读取超时mySession.gets
,例如通过?
(连接时不是超时。写入时不是超时。)
或者IO::select
?