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

Reply via email to