Python - 使用套接字设置源端口号
我想发送一个特定的UDP广播包。不过,我需要从一个非常特定的端口发送这些UDP包。
比如说,我通过UDP广播“BLABLAH”。服务器只会在我的包的来源端口是1444时才会回应;如果不是,这个包就会被丢弃。
我的广播套接字设置是这样的:
s = socket(AF_INET,SOCK_DGRAM)
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
那么我该如何在Python中设置这个来源端口呢?
2 个回答
12
使用 s.bind(('', port))
。
22
你需要把这个“插座”(socket)绑定到你想要发送数据的特定端口上。bind
这个方法需要一个地址元组,和connect
有点像,不过你可以使用通配符地址。比如:
s.bind(('0.0.0.0', 1444))