ソケットプログラミング

サーバー側

require "socket"

port = 8080
server = TCPServer.new("0.0.0.0", port)
p '[start]'
loop {
  Thread.fork(server.accept) { |socket|
    begin
      p "[accpet]"
      message = socket.read
      p message
      if message == 'EXIT' then p '[exit]'; exit end
    ensure
      socket.close unless socket.closed?
    end
  }
}

クライアント側

>irb --prompt simple
>> require 'socket'
=> true
>> TCPSocket.open('localhost', 8080) { |s| s.print "haru01" }