From: Sean O'Halpin Date: 2012-02-03T22:49:03+09:00 Subject: Re: Choosing target network for UDP broadcast On Fri, Feb 3, 2012 at 1:47 PM, Sean O'Halpin wrote: > On Fri, Feb 3, 2012 at 10:36 AM, Ivo Wever wrote: >> If I send a UDP packet containing 'foo' like this: >> >>  socket = UDPSocket.new >>  socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true) >>  socket.send('foo', 0, '', 40001) >> >> then wireshark tells me it gets sent from 192.168.x.y. However, my >> server is listening on localhost:40001. How can I choose the source >> address from which (and the interface via which) the socket will send >> its packet? > > Use #bind - http://ruby-doc.org/stdlib-1.9.3/libdoc/socket/rdoc/Socket.html#method-i-bind Oops. Wrong link. This is the right one: http://ruby-doc.org/stdlib-1.9.3/libdoc/socket/rdoc/UDPSocket.html#method-i-bind