テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

rubyでC/Sプログラミングって便利ぃ

2006-08-09 22:22:09 | Ruby, Rails,プログラミング
初めてクライアント・サーバプログラミングをしなきゃいかんなぁということで、rubyのソケットプログラミングの解説があったなぁと思い、試してみた。
--
#!/usr/bin/ruby
# client.rb

require 'socket'
soc=TCPSocket.open("localhost","12345")
loop do
soc.print STDIN.gets
end
--
#!/usr/bin/ruby
# server.rb

require 'socket'
s = TCPServer.new(12345)
cl = s.accept
while a=cl.gets
print a
end
cl.close

んで、イマイチ終了のさせ方とか分からんなぁとググッてみたら、なんかrubyにはgserver(ジェネラルサーバ)とかいうクラスが用意されてるみたい。継承して応答の部分のみ書けばサーバになるようだ。すばらしい!これぞオブジェクト指向だなぁ、うんうん。
ほんと、考えてみたらサーバってアクセスを待ってて接続が来たらメッセージに従って応答を返すって基本は変わらないもんなぁ。それをクラスにするって至極まっとうな気がする。継承の一番分かりやすい例な気がする。
簡単にC/Sも作れる ruby ってやっぱ最高!

P.S.
実際やってみたら思ってたのと全然違った。使い方がよく分からん。(汗;
普通にsocket使った方がいいみたい。。。