套接字设置源端口号

ber*_*tch 8 python sockets port

我想发送一个特定的UDP广播数据包..不幸的是,我需要我发送的所有数据包的特定端口发送udp数据包.

假设我通过UDP"BLABLAH"进行广播,服务器只会在我的传入数据包源端口为1444时进行应答,否则数据包将被丢弃.

我的广播套接字设置如下所示:

s = socket(AF_INET,SOCK_DGRAM)

s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
Run Code Online (Sandbox Code Playgroud)

我怎么能在python中做到这一点(设置源端口)?

谢谢!

Sté*_*hen 14

您需要bind将套接字连接到要发送的特定端口.虽然您可以使用通配符地址,但该bind方法采用地址元组connect.例如:

s.bind(('0.0.0.0', 1444))
Run Code Online (Sandbox Code Playgroud)


jwe*_*ich 8

使用s.bind(('', port)).