Python - 使用套接字设置源端口号

16 投票
2 回答
36153 浏览
提问于 2025-04-15 21:55

我想发送一个特定的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))

撰写回答