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を参照。