Java UDP网络编程 - 最简单示例(一)
分类:
文章
•
2025-04-12 12:10:52


-
-
import java.io.*;
-
import java.net.*;
-
-
class UDPServer{
-
public static void main(String[] args)throws IOException{
-
DatagramSocket server = new DatagramSocket(4545);
-
-
byte[] recvBuf = new byte[100];
-
DatagramPacket recvPacket
-
= new DatagramPacket(recvBuf , recvBuf.length);
-
-
server.receive(recvPacket);
-
-
String recvStr = new String(recvPacket.getData() , 0 , recvPacket.getLength());
-
System.out.println("来自客户端的数据:" + recvStr);
-
-
int port = recvPacket.getPort();
-
InetAddress addr = recvPacket.getAddress();
-
String sendStr = "Hello ! I'm Server";
-
byte[] sendBuf;
-
sendBuf = sendStr.getBytes();
-
DatagramPacket sendPacket
-
= new DatagramPacket(sendBuf , sendBuf.length , addr , port );
-
-
server.send(sendPacket);
-
-
server.close();
-
}
-
}
-
-
-
import java.io.*;
-
import java.net.*;
-
-
class UDPClient{
-
public static void main(String[] args)throws IOException{
-
DatagramSocket client = new DatagramSocket();
-
-
String sendStr = "Hello! I'm Client";
-
byte[] sendBuf;
-
sendBuf = sendStr.getBytes();
-
InetAddress addr = InetAddress.getByName("127.0.0.1");
-
int port = 5050;
-
DatagramPacket sendPacket
-
= new DatagramPacket(sendBuf ,sendBuf.length , addr , port);
-
-
client.send(sendPacket);
-
-
byte[] recvBuf = new byte[100];
-
DatagramPacket recvPacket
-
= new DatagramPacket(recvBuf , recvBuf.length);
-
client.receive(recvPacket);
-
String recvStr = new String(recvPacket.getData() , 0 ,recvPacket.getLength());
-
System.out.println("来自服务端的回复:" + recvStr);
-
-
client.close();
-
}
-
}