网站开发工程是待遇,网站建设岗位将来有什么发展,wordpress主题谷歌字体大小,签名设计免费版UDP协议1.UDP使用场景域名系统若是执行时间内#xff0c;没有响应返回#xff0c;证明包已丢失。音频或视频数据包的丢失只会造成通话或视频的干扰和不清楚#xff0c;而不会像TCP协议那样造成通话的丢失或卡顿。2.UDP和TCP的类比UDP类似于邮局#xff0c;数据的接受与否和…UDP协议1.UDP使用场景域名系统若是执行时间内没有响应返回证明包已丢失。音频或视频数据包的丢失只会造成通话或视频的干扰和不清楚而不会像TCP协议那样造成通话的丢失或卡顿。2.UDP和TCP的类比UDP类似于邮局数据的接受与否和到达顺序邮局是不可控的。但是可以通过数据报的数据预先协商好协议达到对数据顺序和数据完整性的控制。TCP类似于电话通话的应答和响应是可控的。3.UDP的传输形式和TCP的对比UDP是以数据包的形式而TCP中是通过流的形式传输。UDP客户端1.创建客户端的步骤1、首先打开一个Socket连接//客户端使用随机端口DatagramSocket socket new DatagramSocket(0);2、设置一个连接超时时间//UDP是无连接的网络协议不设置超时时间即使远程主机未在端口监听你也永远接收不到回音socket.setTimeOut(10000);3、建立数据包一个发送数据包一个接收数据包//发送数据包InetAddress host InetAddress.getByName(www.baiud.com);DatagramPacket request new DatagramPacket(new byte[1],1,host,9999);//接收数据包Byte byte new Byte[1024];DatagramPacket response DatagramPacket(byte,byte.length);socket.send(request);socket.receive(response);//注 java7中DatagramSocket实现了AutoCloseablem所以声明socket时可以使用 try-with-resourcestry(DatagramSocket socket new DatagramSocket(0)){//连接到服务器}catch(IOException ex){Sysstem.err.println(Could not connect to ......)}2.示例UDP服务器1.与TCP的不同模式与客户端相同不过在发送之前要先接收而且不会选择要绑定的匿名接口。与TCP不同并没有单独的DatagramServerSocket类2.创建注意事项1、创建一个接收数据的请求包DatagramPacket request new DatagramPacket(new byte[1024],0,1024);//这个调用会无限阻塞scoket.receive(request);2、创建一个响应包//响应包的声明规范对于服务器属性是关联的此处的响应包需要指明响应的地址和端口DatagramPacket response new DatagramPacket(new byte[1],1,host,9999);3.示例DatagramPacket类1、组成UDP数据包是基于IP数据报建立的只向其底层IP数据报添加了很少的一点内容。向IP数据报首部添加了8字节。UDP首部包括源和目标端口号、IP首部之后所有内容的长度以及一个可选的校验和。端口号以2字节无符号整数给出主机有65536个不同的UDP端口号可以使用与每台主机的65536个不同的TCP端口截然不同。因此数据包中的字节数不能超过65536减去首部的8个字节。校验和字段是可选的应用层程序不适用这个校验和如果数据的校验和失败那么底层网络软件会丢弃这个数据报发送方和接收方都不会收到通知。毕竟UDP是不可靠的协议。2、UDP数据报长度1、理论最大值65507字节2、实际限制8192字节 8KB3、为保证最大的安全性512字节或更少注意 TCPTCP数据报也存在这个问题但Socket和ServerScoket提供的是基于流的API,因此对程序员隐藏了这些细节。3、DatagramPacket 类只提供了获取和设置IP首部中源或目标地址、获取和设置源或目标端口、获取和设置数据、以及获取和设置数据长度。其余首部字段无法通过java代码访问。1、构造函数1、接收数据报的构造函数2、发送数据报的构造函数2、get方法3、set方法DatagramSocket 类1、构造函数2、发送和接收数据报