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

Posted

技术标签:

【中文标题】Python - 使用套接字设置源端口号【英文标题】:Python - set source port number with sockets 【发布时间】:2011-02-11 06:14:49 【问题描述】:

我想发送一个特定的 UDP 广播数据包。不幸的是,我需要从一个非常特定的端口发送 UDP 数据包。

假设我通过 UDP“BLABLAH”进行广播。仅当我的传入数据包源端口为 1444 时,服务器才会响应;如果不是,则丢弃该数据包。

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

s = socket(AF_INET,SOCK_DGRAM)

s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)

然后如何在 Python 中设置源端口?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于Python - 使用套接字设置源端口号的主要内容,如果未能解决你的问题,请参考以下文章

套接字

Linux——网络编程套接字

linux:网络:socket套接字

linux:网络:socket套接字

UDP 首部的格式

linux socket通讯如何获取本地的源端口号