模拟UDP数据丢失
2015-09-08 21:46
344 查看
发送
接收
package cn.itcast.udp; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.UnknownHostException; /* udp是一个不可靠(数据包可能会丢失)的协议 什么情况下数据包会出现丢失呢? 1.带宽不足 。 2.cpu的处理能力不足。 */ public class SafeSender { public static void main(String[] args) throws Exception { //建立udp的服务 DatagramSocket socket = new DatagramSocket(); //准备数据,数据封装到数据中发送 DatagramPacket packet = null; for(int i = 0 ; i< 10; i++){ //连续发送10个数据包 String data =i +"aaaaaaaaaaaaaaaaass"; packet = new DatagramPacket(data.getBytes(), data.getBytes().length, InetAddress.getLocalHost(), 9090); //发送数据包 socket.send(packet); } //关闭资源 socket.close(); } }
接收
package cn.itcast.udp; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; public class SafeReceive { public static void main(String[] args) throws IOException, Exception { //建立udp的服务 DatagramSocket socket = new DatagramSocket(9090); //建立空的数据包存储数据 byte[] buf = new byte[1024]; DatagramPacket packet = new DatagramPacket(buf, buf.length); //不断接收数据包 while(true){ socket.receive(packet); System.out.println(new String(buf,0,packet.getLength())); Thread.sleep(10); } } }
相关文章推荐
- C#基于UDP进行异步通信的方法
- C#中使用UDP通信实例
- Linux网络编程之UDP Socket程序示例
- 服务器 UDP端口占用几千个的解决办法
- Android网络编程之UDP通信模型实例
- udp socket客户端和udp服务端程序示例分享
- PHP的Socket通信之UDP通信实例
- Android中实现TCP和UDP传输实例
- android开发socket编程之udp发送实例分析
- Linux网络编程之基于UDP实现可靠的文件传输示例
- python检测远程udp端口是否打开的方法
- python网络编程之数据传输UDP实例分析
- python基础教程之udp端口扫描
- python实现udp数据报传输的方法
- Python里disconnect UDP套接字的方法
- Java基于socket服务实现UDP协议的方法
- python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
- iptables下udp穿越实用篇----iptables与natcheck
- CSocket 实现 UDP
- 常见的tcp udp端口的信息列表