Java实现UDP通信
Send端
package cn.test01;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class Test04 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
while (true) {
String user = sc.nextLine();
byte[] userBytes = user.getBytes();
DatagramPacket dp = new DatagramPacket(userBytes, userBytes.length, InetAddress.getByName("127.0.0.1"),
8888);
DatagramSocket ds = new DatagramSocket();
ds.send(dp);
if ("quit".equals(user)) {
ds.close();
break;
}
}
}
}
Receive端
package cn.test01;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class Test04_Receive {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
byte[] bytes = new byte[1024];
DatagramPacket dp = new DatagramPacket(bytes, bytes.length);
DatagramSocket ds = new DatagramSocket(8888);
while (true) {
ds.receive(dp);
int len = dp.getLength();
System.out
.println(dp.getAddress().getHostAddress() + ": " + dp.getPort() + ", " + new String(bytes, 0, len));
if ("quit".equals(new String(bytes, 0, len))) {
break;
}
}
ds.close();
}
}