UPD简单的数据发送

  1. udp 数据发送客户端代码如下:
package com.lx.udp;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
/**
*    upd数据发送客户端:
            1.创建   DatagramSocket
            2.准备数据
            3.打包   DatagramPacket
            4.发送数据
            5.释放资源
*/
public class Client {
	public static void main(String[] args) throws Exception {
		//1 创建 DatagramSocket
		DatagramSocket client = new DatagramSocket();
		//2 准备数据 
		byte[] msg = "今晚老地方见".getBytes();
		// 3. 打包 DatagramPacket
		//构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。
		//DatagramPacket(byte[] buf, int length, InetAddress address, int port) 
		DatagramPacket packet = new DatagramPacket(msg, msg.length, InetAddress.getByName("localhost"), 6777);
		// 4 发送数据 
		client.send(packet);
		// 5. 释放资源 
		client.close();
	}
}

2 udp 数据发送服务端代码如下:

/**
 * 服务端:
 * 1.接收数据  DatagramSocket
 * 2.接收的容器
 * 3.打包     DatagramPacket
 * 4.接收数据
 * 5.解析数据包
 * 6.释放资源
 */
public class Server {

    public static void main(String[] args) throws Exception {
         //1.接收数据  DatagramSocket
        DatagramSocket datagramSocket = new DatagramSocket(6777);
         //2.接收的容器
        byte[] container = new byte[1024];
        //3.打包     DatagramPacket
        //DatagramPacket(byte[] buf, int length)
        //构造 DatagramPacket,用来接收长度为 length 的数据包。
        DatagramPacket packet = new DatagramPacket(container, container.length);
        // 4.接收数据
        datagramSocket.receive(packet);
         //5.解析数据包
        //byteArrayInputStream  流处理数据
         byte[] data = packet.getData();
        String s = new String(data);
        System.out.println(s.trim());
         // 6.释放资源
        datagramSocket.close();
    }
}

你可能感兴趣的:(java基础,udp)