关于UDP客户端与TCP客户端接受服务端消息时的疑问

来源:5-2 UDP搜索IP与端口-2

甲骨文_0001

2019-04-21

UDP客户端接收服务端的回信 需要在客户端指定一个端口监听 那么如果是TCP客户端接收来自服务端的回信,为啥不见TCP方式下客户端指定一个监听端口来接受服务端回信的方式

写回答

1回答

Qiujuer

2019-04-21

这个其实是这样的,咱们的TCP是基于链接的,UDP是基于非链接的。
TCP在建立链接后就类似于我和你之间有一条永远相连的管道,这个管道只要不关闭就一直存在;你往管道丢东西,我去取,我丢你取;这是没有问题的。

UDP则类似于信使的方式,我给你发一个消息,是把消息丢给信使,信使挨个从路由器询问过来,最终到达你的地方,被你收到并拆封。

而你要回送回来也是一样,可以使用我给你写信的地址直接回信回来,当然也可以给我的新地址回信回来。我可能之前就跟你约定好了,我在上海给你写的信,你回我的时候就回深圳这边来,因为我可能在深圳出差了。当然你也可以继续往上海那边回信,只要我这边回去取了那也是能够收到的,当然也有可能我并不想这样,我不想回去了,所以你必须给我新地址写信。

UDP就是这样的一种非链接的方式,具体的传输可以多样化,随便你从那个端口回送回来,只要我有监听对应的端口那么我就可以收到。上面的上海、深圳啥的就可以理解为端口。


1
1
甲骨文_0001
理解了 谢谢?
2019-04-21
共1条回复

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2316 学习 · 476 问题

查看课程