TCPSocket の使い方
参考:
close
TCP socket では write の後すぐに close してはいけない。相手側に全てのデータが届いてから close する必要がある。shutdown で書き込み側だけハーフクローズするとよい。相手側が close してから、こちらを close する。相手側が close したことは、read を呼んでブロックさせておくと、読み込みバイト数 == 0 つまり EOF になったことでわかる。
参考:
TCP socketではwriteの後すぐにcloseしてはいけない – Togetter
IO.select
参考:
RubyのIO.select を使って、TCP socketで返信がなくなったら自動でコネクションをきる方法 – 脳汁portal