标签:
最近温故一下工作没有使用过的一些知识点,下面就是练习中使用的代码,提供给大家分享
客户端
// 客户端 public class UDPClient { public static void main(String[] args) throws IOException { DatagramSocket ds = null;// 定义接受数据的对象 byte[] data = new byte[1024]; // 开辟空间,接受数据 DatagramPacket dp = null; // 声明DatagramPacket对象 // 服务器端和客户端的要一致 ds = new DatagramSocket(9000); // 端口号 dp = new DatagramPacket(data, 1024); // 所有信息使用data保存 ds.receive(dp); // 接受数据 // dp的内容信息 String str = new String(dp.getData(), 0, dp.getLength()) + " from " + dp.getAddress().getLocalHost() + ":" + dp.getPort(); System.out.println(str);// 输出内容 } }
服务器端
// 服务端 public class UDPServer { public static void main(String[] args) throws IOException { DatagramSocket ds = null; DatagramPacket dp = null; ds = new DatagramSocket(3000); String str = "hello World!"; // 构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。 dp = new DatagramPacket(str.getBytes(), str.length(), InetAddress.getByName("localhost"), 9000); System.out.println("发送信息"); ds.send(dp); // 服务端发送消息 ds.close(); } }
总结
1.UDP中主要使用的是数据报协议发送的。
2.UDP是属于不可靠协议,服务器端发送的消息,客户端不一定能收的到。
3.UDP主要使用DatagramPacket和DatagramSocket两个类。
4.DatagramPacket主要用于封装消息。
5.DatagramSocket用于发送和接受消息。
7.注意
运行的时候,需要先运行客户端,然后再运行服务器端。
标签:
原文地址:http://my.oschina.net/u/263874/blog/375526