Hatena::ブログ(Diary)

にたまごほうれん草

2007-12-25

UDPで通信する

なんかややこしかったのでメモ。

受信側

require 'socket'
u1 = UDPSocket.open()
u1.bind("0.0.0.0", 10000)
p u1.recvfrom(65536)

送信側

require 'socket'
u2 = UDPSocket.new()
u2.connect('localhost', 10000)
u2.send('Hello world!' , 0)

実行結果

先に受信側を実行し、送信側を実行

["Hello world!", ["AF_INET", 32818, "localhost", "127.0.0.1"]]

受信したデータは配列になっており、第1項が受信データの内容、第2項がソケットの接続情報の配列になっている。

接続情報については、Rubyリファレンスマニュアル - IPSocketのaddrを参照。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/emergent/20071225/1198510691