On Jul 19, 7:09 am, Jean-Paul Calderone <[EMAIL PROTECTED]> wrote: > On Thu, 19 Jul 2007 12:32:02 -0000, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > wrote: > >I am trying to send UDP broadcast packets over a specific interface > >and I > >am having trouble specifying the interface: > > >host='192.168.28.255' > >sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) > >sock.bind(('',0)) > >sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) > >sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, > >socket.inet_aton(host)) > > >socket.error: (49, "Can't assign requested address") > > >What am I doing wrong? How can I force my broadcast packets to go out > >a specific interface? > > IP_MULTICAST_IF is for multicast UDP, which doesn't have anything to do > with broadcast UDP. > > Try just doing this, instead: > > host='192.168.28.255' > sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) > sock.bind((host,0)) > sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) > > You shouldn't need to mess with anything beyond that.
Thanks! This works perfectly. -larry -- http://mail.python.org/mailman/listinfo/python-list