ChatDemoA.class
import java.net.*;
import java.io.*;
class Send implements Runnable{
DatagramSocket ds;
public Send(DatagramSocket ds){
this.ds = ds;
}
public void run(){
try{
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line = bufr.readLine()) != null){
if("886".equals(line))
break;
byte[] buf = line.getBytes();
DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.112"),10006);
ds.send(dp);
}
}catch(Exception e){
throw new RuntimeException("发送端异常");
}
ds.close();
}
}
class Rece implements Runnable{
DatagramSocket ds;
public Rece(DatagramSocket ds){
this.ds = ds;
}
public void run(){
try{
while(true){
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,buf.length);
//×èÈû
ds.receive(dp);
String ip = dp.getAddress().getHostAddress();
String data = new String(dp.getData(),0,dp.getLength());
System.out.println(ip+"::::"+data);
}
}
catch(Exception e){
throw new RuntimeException("接收端异常");
}
}
}
class ChatDemoA {
public static void main(String[] args) throws Exception{
DatagramSocket sendSocket = new DatagramSocket();
DatagramSocket receSocket = new DatagramSocket(10007);
new Thread(new Send(sendSocket)).start();
new Thread(new Rece(receSocket)).start();
}
}
ChatDemoB.class
import java.net.*;
import java.io.*;
class Send implements Runnable{
DatagramSocket ds;
public Send(DatagramSocket ds){
this.ds = ds;
}
public void run(){
try{
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line = bufr.readLine()) != null){
if("886".equals(line))
break;
byte[] buf = line.getBytes();
DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.112"),10007);
ds.send(dp);
}
}catch(Exception e){
throw new RuntimeException("发送端异常");
}
ds.close();
}
}
class Rece implements Runnable{
DatagramSocket ds;
public Rece(DatagramSocket ds){
this.ds = ds;
}
public void run(){
try{
while(true){
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,buf.length);
//×èÈû
ds.receive(dp);
String ip = dp.getAddress().getHostAddress();
String data = new String(dp.getData(),0,dp.getLength());
System.out.println(ip+"::::"+data);
}
}
catch(Exception e){
throw new RuntimeException("接收端异常");
}
}
}
class ChatDemoB {
public static void main(String[] args) throws Exception{
DatagramSocket sendSocket = new DatagramSocket();
DatagramSocket receSocket = new DatagramSocket(10006);
new Thread(new Send(sendSocket)).start();
new Thread(new Rece(receSocket)).start();
}
}
聊天效果