不太理解udp的发送端和接收端的概念

zoujiaming 2015-07-28 09:08:41
我不太理解udp的发送端和接收端的概念,udp协议本身是无连接的,发送端(客户端)设置好连接接收端(服务端)的IP地址和端口号后,直接向接收端写入数据就行了。但TCP调试助手上使用udp协议当发送端发送数据后,自动又像tcp协议一样,自动建立了一个“连接”,IP地址是发送端(客户端)的,端口号是随机的。既然发送端和接收到都是分开实现的(我使用socket),那么服务端监听的端口就是事件指定的,如果像TCP调试助手一样,发送udp数据包到接收端,随机生成了一个端口,我肯定不清楚这个随机的端口是多少?也就无法得到从服务器返回的数据了。因为网上都是做了发送端和接收端,但像TCP调试助手是把发送接收都整合到了一起,实现收发数据。我现在分别实现了发送端(客户端)和接收端(服务端),但不知道如何按随机建立连接的端口实现双向通讯。我觉得我对这个概念没有弄的太清楚,请帮我理解一下,谢谢。
...全文
418 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunny906 2015-07-28
  • 打赏
  • 举报
回复
不管UDP还是TCP,端口都不是随机指定的,否则收、发双方如何进行通信;只不过UDP是无连接的,客户端在发送数据的时候会带上服务器的IP地址和端口,至于服务端有没有收到,客户端并不关心
Poopaye 2015-07-28
  • 打赏
  • 举报
回复
udp会带上发送的端口,所以你不必担心接收端不知道往哪里返回 http://baike.baidu.com/link?url=iK0JKZnldMxFZHFz201LR8ISqbScAA4_j7WQ4SBUJeXa5B2b9IGtv0CIwgfTuJhYw6PbJDPwlxcEkF6cTEmDCq#3
UdpClient.Receive(ref IPEndPoint remoteEP)
remoteEP.Port就是端口
wzd24 2015-07-28
  • 打赏
  • 举报
回复
使用UDP通讯时应当在收发数据前先绑定端口,这样的话就确定了自己接收的端口,而对方的端口也是需要事先绑定的,至于用哪个端口,通讯的双方可以事先约定好。 PS:通讯的双方不一定需要是同一个端口,如果必须是同一个端口的话就无法实现本机环回通讯了,但使用同一个端口会减少认知上的麻烦。
欢乐的小猪 2015-07-28
  • 打赏
  • 举报
回复
服务端和客户端需要是同一个端口号。。。。。。。。。。
  • 打赏
  • 举报
回复
发送就是发送,发送不管 服务端是否接收到,它只管发送出去。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧