2007年 01月 05日

Socket プログラミング

とりあえず最小構成書いてみないとね!!! っていうかいまさら Socket プログラミングかよ遅くねpgrとか言われそう。

require 'socket'

@s = UDPSocket.new
@s.bind('', 9989)
p @s

loop do
	p @s.recv(1014)
end

require 'socket'

['<broadcast>', 'localhost'].each do |host|
	p host
	@s = UDPSocket.open
	begin
                # ないと permission error
		@s.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true)
		p @s.send('aaa', 0, host, 9989)
	ensure
		@s.close
	end
end

送るだけ送る。"aaa" が二回表示される。