package 第十九章;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.util.Scanner;
public class chat {
public static void main(String[] args) throws IOException {
int port = 10000;
String name;
MulticastSocket ms = new MulticastSocket(port);
Scanner sc = new Scanner(System.in);
InetAddress address = InetAddress.getByName("224.0.1.0");
ms.joinGroup(address);
System.out.println("请输入网名");
name=sc.next();
System.out.println("----------------");
new Thread(() -> {
while (true) {
try {
String txt = name+": "+sc.next();
byte[] bytes = txt.getBytes();
DatagramPacket dp = new DatagramPacket(bytes,bytes.length, address, port);
ms.send(dp);
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
new Thread(() -> {
while (true){
byte[] bytes = new byte[1024];
try {
DatagramPacket dp =new DatagramPacket(bytes,bytes.length);
ms.receive(dp);
byte[] data = dp.getData();
int length = dp.getLength();
String b = new String(data,0,length);
System.out.println(b);
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
09-07
687
01-17
07-26
1024