2010-04-22 61 views
8

我想发送一个特定的UDP广播数据包..不幸的是我需要发送UDP数据包一个非常具体的端口为我发送的所有数据包。套接字设置源端口号

假设我通过UDP“BLABLAH”进行广播,服务器将只响应,如果我的传入数据包源端口是1444,如果不是数据包被丢弃。

我的广播插座的设置是这样的:

s = socket(AF_INET,SOCK_DGRAM) 

s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1) 

我如何能做到这一点(设置源端口)在Python?

谢谢!

回答

14

您需要将bind套接字连接到您要发送的特定端口。 bind方法采用地址元组,很像connect,尽管您可以使用通配符地址。例如:

s.bind(('0.0.0.0', 1444))