linux 多次创建不同的UDP socket进行通信,最终通信用的UDP 源端口以最后一次创建的socket使用的源端口为准

linux  多次创建不同的UDP socket进行通信,最终通信用的UDP 源端口以最后一次创建的socket使用的源端口为准。


一个进程的多个线程使用下面方法分别打开一个UDP socket。

if(((*sockPtr)=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) 

#error


比如:

次数 | socketid |UDP Sport

1              1000         40000 

2              1001         40001

3             1002         40002 


最终不管使用哪个socket进行通信(1000/1001/1002),发出去的UDP包的源端口都是40002.

不知道为什么会这样????


你可能感兴趣的:(linux,socket编程,linux,socket)