UDP和TCP的学习笔记

这几天了解传输层协议, 分享一下,夹杂个人观点。。希望对您有帮助。。


一: Udp传输:

1.它是不可靠传输,涉及到两个类,DatagramSocket和DatagramPacket(DatagramSocket是建立套接字(端口),
  DatagramPacket是将数据进行打包的 打包的需要的数据类型是byte,也就是以字节的形式进行打包);
2.udp 不需要传输建立连接,只是单纯的向端口发信息而已,如果接收端口开着,那个就就收端口就可以接到信息,
如果端口没有开,那么这段信息就会丢失,也就是所说的不可靠传输


一般建立的过程(udp没有客户端和服务端之分)

发送过程:
1.建立一个端口(也就是实例化一个DatagramSocket对象,端口可以指定,也可以不指定)
2.将数据进行打包处理(将DatagramPacket实例化,将信息打包)
3.通过DatagramSocket的send(DatagramPacket dp)方法将数据发送出去。
4.关闭相应的资源
接收过程:
1.2.4步和发送过程相同(数据打包的时候有点细节不同,具体参考java API)
3.通过DatagramSocket的Receive(DatagramPacket dp)方法获取数据,进行处理.








二: Tcp是可靠地传输;
1.它是可靠地传输,涉及到两个类,Socket和ServerSocket(Socket表示的是客户端的,ServerSocket表示的是服务器)
2.tcp传输面向连接,可以传输大数据量,当然Udp也可以(但是不安全,还要打包(64K))


一般过程:
  客户端:
1.建立客户端口(实例化一个Socket对象)、
2.获取输入流和输出流(输入流:接收服务端返回的信息,输出流:向服务端发送信息)
3.具体的读写动作
4.关资源


  服务端:
1.建立服务端的具体监听对象(ServerSocket(int port))
2.通过ServerSocket类的accept方法使得客户端被监听,并且是的客户端与服务端建立连接,同时返回客户端的Socket对象
3.获取Socket对象的输入流和输出流(输入流:获取客户端发来的信息,输出流: 将服务端处理后的信息返回给客户端)

注:服务端一般是不会关闭资源的,因为一个服务器不仅仅是给一个客户服务的,当客户端关闭资源时相应的链接也就中断,
服务端这边也会自动断开。




三. 区别:
1.tcp是需要建立链接;但是udp不需要建立链接,
2.tcp是可靠地传输,但是效率较低;udp虽然是不可靠传输,但是效率高
3.tcp一般用来传输大数据量的(建立连接); 而udp是以数据报包的形式传送的(数据报包最大为64k),
    也就是说传输的基本单位是数据报包(和数据链路层的传输基本单位是帧一个道理)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值