Prev / Next

2007-11-24 / Ruby でソケット通信

仕事で(その仕事が自分にまわってくることはないだろうけど).
ソケット通信のプログラムが必要になるらしいので,
ちょっと Ruby で書いてみた.

クライアント

#!/usr/bin/ruby

require 'socket'

s = TCPSocket.open("localhost", 12345)
s.puts("test")
s.close


localhost の port 12345 で待ち受けているサーバに,
"test" という文字列を送る.

サーバ

#!/usr/bin/ruby

require 'socket'
require 'thread'

gs = TCPServer.open(12345)
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))

while true
  Thread.start(gs.accept) do |s|
    print(s, " is accepted\n")
    puts(s.gets)
    print(s, " is gone\n")
    s.close
  end
end


port 12345 で待ち受け,クライアントから送られた文字列を表示.

なんか簡単すぎて拍子抜け.

- まつもと直伝 プログラミングのオキテ 第16回 ネットワーク・プログラミング(ソケット編)
  http://itpro.nikkeibp.co.jp/article/COLUMN/20071031/285990/

comments powered by Disqus