Sockets 选择UDP传输源端口的实际后果?应该是零吗?

Sockets 选择UDP传输源端口的实际后果?应该是零吗?,sockets,network-programming,udp,port,raw-sockets,Sockets,Network Programming,Udp,Port,Raw Sockets,Wikipedia中UDP源端口字段的说明如下: 此字段在有意义时标识发送方的端口,并应 如果需要,假定为要答复的端口。如果没有使用,那么 应该是零。如果源主机是客户端,则端口号为 可能是短暂的端口号。如果源主机是 服务器,端口号可能是众所周知的端口号 我正在使用原始套接字传输UDP数据包,不知道该如何填写。该进程仅为客户端,因此没有“应答”端口。我应该把它保留为零,还是有一个特定的值需要查找?源端口值的实际后果是什么?例如,如果我在字段中输入一个随机值,会有什么不同吗?UDP依赖于端口。无法将

Wikipedia中UDP源端口字段的说明如下:

此字段在有意义时标识发送方的端口,并应 如果需要,假定为要答复的端口。如果没有使用,那么 应该是零。如果源主机是客户端,则端口号为 可能是短暂的端口号。如果源主机是 服务器,端口号可能是众所周知的端口号


我正在使用原始套接字传输UDP数据包,不知道该如何填写。该进程仅为客户端,因此没有“应答”端口。我应该把它保留为零,还是有一个特定的值需要查找?源端口值的实际后果是什么?例如,如果我在字段中输入一个随机值,会有什么不同吗?

UDP依赖于端口。无法将UDP数据包发送到端口0。将UDP套接字绑定到端口0将导致操作系统选择随机临时端口来替代。如果使用绑定到接口的原始套接字,但没有绑定端口,则如果不希望返回答复,可以指定0作为发送方端口。否则,请使用正在侦听入站UDP数据的实际端口(或者只使用UDP套接字而不是原始套接字)@RemyLebeau这是源地址,而不是目标地址。传输原始数据包时,不绑定任何源端口。这只是标题中的一个字段,我知道你的意思。我坚持我先前所说的,但让我重写几句话:“将UDP套接字绑定到源端口0将导致操作系统选择一个随机临时端口进行发送。。。如果使用绑定到接口的原始套接字,则没有可将其放入数据包的源端口,因此,如果不希望从接收方发回回复,则可以指定0作为源端口。“UDP依赖于端口。无法将UDP数据包发送到端口0。将UDP套接字绑定到端口0将导致操作系统选择随机临时端口来替代。如果使用绑定到接口的原始套接字,但没有绑定端口,则如果不希望返回答复,可以指定0作为发送方端口。否则,请使用正在侦听入站UDP数据的实际端口(或者只使用UDP套接字而不是原始套接字)@RemyLebeau这是源地址,而不是目标地址。传输原始数据包时,不绑定任何源端口。这只是标题中的一个字段,我知道你的意思。我坚持我先前所说的,但让我重写几句话:“将UDP套接字绑定到源端口0将导致操作系统选择一个随机临时端口进行发送。。。如果您使用绑定到接口的原始套接字,则没有可将其放入数据包的源端口,因此,如果您不希望从接收器发送回应答,则可以指定0作为源端口。”