From: Joel VanderWerf Date: 2004-01-23T06:38:01+09:00 Subject: how to broadcast UDP packets I'm trying to use ruby to immitate some C code that broadcasts UDP packets, but I can only seem to receive packets that are sent to a specific interface address, not to a broadcast address. Here are the sender and receiver: ==== sender.rb ==== require 'socket' port = 1234 #host = "localhost" host = "192.168.1.3" #host = "" #host = "255.255.255.255" socket = UDPSocket.open socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true) loop do socket.send("sample data", 0, host, port) sleep 0.1 end ==== ==== receiver.rb ==== require 'socket' port = 1234 #host = "localhost" host = "192.168.1.3" #host = "" #host = "255.255.255.255" #host = "" #host = nil socket = UDPSocket.open socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true) socket.bind(host, port) p socket.recvfrom(20) ==== As the two programs are written, the receiver prints out "sample data". That's also the case when both programs use host = "localhost" But for any combination of the broadcast hosts (e.g., "" and ""), the receiver doesn't get the packet. Any help is appreciated.