JAVASE TCP通讯与UDP通讯的区别

2022年01月13日 阅读数:3
这篇文章主要向大家介绍JAVASE TCP通讯与UDP通讯的区别,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

TCP通讯与UDP通讯的区别

UDP通讯:

UDP通讯是一种不安全的且非链接的方式,可是通讯速度快。每次发送端发送一个数据包,接受端接受到一个数据包。web

Client端与Server端都使用DatagramSocket+DatagramPacket接受与发送数据。安全

Client端比如是一个菜鸟驿站,DatagramSocket就比如是一个快递员,DatagramPacket就是工人的这个麻袋,Client端要发送数据就必须往这个麻袋上面贴上快递单其中包括:发送的物品,发送物品的重量,发送方地址(发送方IP地址),接收方地址(接受方端口)。
在这里插入图片描述
Server端一样也是一个菜鸟驿站,不过当他接受包裹(DatagramPacket)的时候,就只须要派出本身的快递员(DatagramSocket)就能够接受到这个包裹了。不须要提供发送发与接受方的地址了,只管领就完事了,固然,为了放在快递员领错或者搬不动这个快递,还须要额外申请一个篮子byte[] bys=new byte[1024]。
在这里插入图片描述服务器

TCP通讯

TCP通讯是一种点对点的、有链接的通讯方式。因此就不须要先打包数据了,可是要先创建一个数据发送的通道。svg

Client端经过Socket向一个端口创建一个大的通道,可是往这个通道发送数据的时候也不能直接发送,由于你发出去的数据万一和发过来的数据撞在一块儿了呢是吧?
因此,在一个大通道里面,还要设置一个小通道用于发送数据(OutputStream),另一个小通道用于接收数据(InputStream)。
在这里插入图片描述
Server端也同样须要创建向一个端口的大通道,与Client不一样的地方在于,还须要对这个通道进行侦听,由于Server端通常都会有多个通道,不像client只管本身发送,或者只管接受他发送的那个服务器端的回复,因此server须要监听着通道,有数据发送过来就随时接收。
在这里插入图片描述server