JAVASE TCP通信与UDP通信的区别

本文对比了TCP和UDP两种通信协议的特点。TCP是安全、有连接的通信方式,需要建立通道并设置发送与接收的小通道;而UDP则是非连接、不安全的,但通信速度快,每次发送数据包后接收方直接接收。TCP注重数据可靠性,UDP则更注重效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP通信与UDP通信的区别

UDP通信:

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

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

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

TCP通信

TCP通信是一种点对点的、有连接的通信方式。所以就不需要先打包数据了,但是要先建立一个数据发送的通道。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值