UDP socket绑定的问题
想问一下下面几个问题
成功创建一个UDP socket,成功绑定一个端口,如6543,然后调用recvfrom函数
问题
1,程序A如果用这个soket向程序B发送信息,调用sendto,会用什么端口发送?会是6543?还是不确定的?
2,程序B接收到程序A发送来的消息后,进一步解析A的socket地址,然后向这个地址发送一条消息,程序A是否能接收到?
我的实验结果是
问题1中发送的端口不会是6543,而是用一个没有被使用的端口进行发送
问题2中程序A还是能接收到程序B发送的消息,但是如果程序A继续向程序B发送消息,此时A发送时采用的端口会更换
我想弄明白的是一般像QQ这样的聊天程序,这个端口绑定会是怎么处理的?
还有是UDP的端口绑定会有一个什么样的作用?像上面那个例子中是否只需要一端进行绑定就足够了?
表述的不是很清楚,谢谢大家解答