客户端代码:
package com.hcq.main2;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class MainSend {
public static void main(String[] args) {
try {
// 1. 创建 数据报套接字
DatagramSocket ds = new DatagramSocket();
// 需要发送的内容
String s = "1";
byte[] buf = s.getBytes();
// 3. 创建数据报s
DatagramPacket dp = new DatagramPacket(buf, buf.length);
// 4. 绑定数据报的发送地址
dp.setAddress(InetAddress.getByName("10.3.155.253"));
dp.setPort(8889);
// 2. 发送数据报
ds.send(dp);
ds.close();
System.out.println("发送完成....");
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
服务器端代码:
package com.hcq.main2;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class MainServer {
public static void main(String[] args) {
try (DatagramSocket ds = new DatagramSocket(8889);) {
System.out.println("等待接收...");
while (true) {
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);
int length = dp.getLength();
System.out.println("length: " + length);
String string = new String(buf, 0, length);
InetAddress address = dp.getAddress();
int port = dp.getPort();
System.out.println("address: " + address);
System.out.println("port: " + port);
System.out.println("内容是: " + string);
}
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}