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