UDP通信模式

数据包对象

DatagramPacket

管道对象:

DatagramSocket

发送和接收数据的方法:

send:void

receive:void


示例:

服务端

package UDP;
public class Serve{
		public static void main(String args[]){
  		  /*1.创建管道的一端*/
        DatagramSocket socket = new DatagramSocket();//发送端的端口随机分配即可,现在还不需要接收客户端的信息。
				/*2.创建数据包*/
				byte[] buffers = "send message".getBytes();
				/*
					@parm 1 :数据存储的地方
					@parm 2 :最大存储的长度
					@parm 3 :发送的IP地址
					@parm 4 :发送的IP地址对应的端口号
				*/
        DatagramPacket packet = new DatagramPacket(buffers,buffers.length,InetAddress.getLocalHost(),8888);
        /*3.发送数据*/
				socket.send(packet);
	}
}

客户端

package UDP;
public class Client{
		public static void main(String args[]){
  		  /*1.创建管道的另一端*/
        DatagramSocket socket = new DatagramSocket(8888);
				/*2.创建数据包*/
				byte[] buffers = new byte[1024];
        DatagramPacket packet = new DatagramPacket(buffers,buffers.length);
        /*3.发送数据*/
				socket.receive(packet);
				/*4.打印数据*/
				String res = new String (buffers,0,packet.getLength());
        System.out.println(res);
				/*获取发送端的ip和端口 */
        System.out.println(packet.getSocketAddress().toString()); 
        /*获取端口信息 */
        int port = packet.getPort();
        System.out.println(port);
	}
}

这样运行两个文件即可实现通信。(这个是在本地)