|
期待完善 黑马程序员—网络编程基础UDP协议学习小结(Java) ----------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、UDP协议概述 UDP 全称User Datagram Protocol的简称即用户数据报协议,是OSI(OpenSystem一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务, ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。但可用于音视频等对网络实时性要求比较高的场合。 二、Java中的UDP协议 UDP的通信不用像TCP那样去分客户端和服务端的模式,大家的地位都是平等的。通过已封装的类DatagramPacket和DatagramSock来实现数据包的发送和接收。我们需要做的就是在通信的双方建立数据报套接字,用DatagramPacket将我们需要发送的数据进行封装,然后即可发送,接收方用套接字接封装之后,对封装进行拆箱即可获得发送来的数据和发送方的数据。例如UDP编程的点对点通信。 三、Java的UDP编程基础 发送Send 1. 创建DatagramSocket, 随机端口号 2. 创建DatagramPacket, 指定数据, 长度, 地址, 端口 3. 使用DatagramSocket发送DatagramPacket 4. 关闭DatagramSocket 接收Receive 1. 创建DatagramSocket, 指定端口号 2. 创建DatagramPacket, 指定数组, 长度 3. 使用DatagramSocket接收DatagramPacket 4. 关闭DatagramSocket 四、UDP聊天窗体程序 涉及的内容比较多,学的时候也是很头疼。除了UDP的基本内容外还包括了GUI的东西。 程序见附件 五、总结 UDP不像TCP那样把输入输出当作流来处理,它的发送和接受的格式,数据的封装相对简洁一点,不必考虑读写的问题。需要记住套接字的建立和数据的封装。 |