做一个Java udp传输
以下是一个简单的Java UDP传输的示例代码:
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPServer {
public static void main(String[] args) {
try {
// 创建UDP socket
DatagramSocket serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
while (true) {
// 创建接收数据的packet
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
// 接收数据
serverSocket.receive(receivePacket);
// 从packet中获取接收到的数据
String receivedMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("接收到数据: " + receivedMessage);
// 发送响应数据
String responseMessage = "Hello, client!";
byte[] sendData = responseMessage.getBytes();
// 获取客户端的IP地址和端口号
String clientIPAddress = receivePacket.getAddress().getHostAddress();
int clientPort = receivePacket.getPort();
// 创建发送数据的packet
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, receivePacket.getAddress(), clientPort);
// 发送数据
serverSocket.send(sendPacket);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPClient {
public static void main(String[] args) {
try {
// 创建UDP socket
DatagramSocket clientSocket = new DatagramSocket();
// 设置服务器的IP地址和端口号
InetAddress serverIPAddress = InetAddress.getByName("localhost");
int serverPort = 9876;
// 发送数据
String message = "Hello, server!";
byte[] sendData = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverIPAddress, serverPort);
clientSocket.send(sendPacket);
System.out.println("发送数据: " + message);
// 接收响应数据
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
clientSocket.receive(receivePacket);
// 从packet中获取响应数据
String receivedMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("接收到响应数据: " + receivedMessage);
// 关闭socket
clientSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这个示例中,一个简单的UDP服务器监听本地的9876端口,接收客户端发送的数据,并回复一个固定的响应消息。UDP客户端向服务器发送一条消息,并接收服务器的响应消息
原文地址: http://www.cveoy.top/t/topic/iC2X 著作权归作者所有。请勿转载和采集!