- 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();
}
}