UDP实现聊天
发送端:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.*;
public class UdpSenderDemo01 {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(8888);
//准备数据:从控制台读取数据
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true){
String data = reader.readLine();
byte[] data1 = data.getBytes();
DatagramPacket packet = new DatagramPacket(data1,0,data1.length,new InetSocketAddress("localhost",6666));
socket.send(packet);
if (data.equals("bye")){
break;
}
}
socket.close();
}
}
接收端:
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UdpReceiveDemo01 {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(6666);
//准备接收包裹
while (true) {//循环接收数据
byte[] data = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(data, 0, data.length);
socket.receive(datagramPacket);
//接收完后断开连接
datagramPacket.getData();//接收到数据
String receiveData = new String();//接收到的数据
System.out.print(receiveData);//输出数据
if (receiveData.equals("bye")){
break;
}
}
socket.close();
}
}