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. Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list