import java.io.IOException;
import java.net.*;
public class Rec implements Runnable {
DatagramSocket ds ;
byte[] buf = new byte[1024];
public void run() {
try {
ds =new DatagramSocket(10003);
} catch (SocketException e) {
System.out.println("端口被占用!");
System.exit(1);
}
while(true)
{
DatagramPacket dp = new DatagramPacket(buf, 0, buf.length);
try {
ds.receive(dp);
} catch (IOException e) {
System.out.println("接收异常!");
System.exit(1);
}
String data = new String( dp.getData(),0, dp.getLength());
InetAddress address = dp.getAddress();
String ip = address.getHostAddress();
String hostName = address.getHostName();
System.out.println(data + " Sent by: " + hostName +" "+ ip);
}
}
}
import java.net.*;
import java.io.*;
public class Send implements Runnable {
DatagramSocket ds = null;
public void run() {
try {
ds = new DatagramSocket();
} catch (SocketException e) {
System.out.println("端口被占用!");
System.exit(1);
}
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String s;
byte[] b = new byte[1024] ;
try {
while ( (s= br.readLine()) != null)
{
if ("886".equals(s))
{
break;
}
b = s.getBytes();
String ip = "192.168.1.5";
DatagramPacket dp =
new DatagramPacket(b, b.length, InetAddress.getByName(ip),10004);
ds.send(dp);
}
} catch (IOException e) {
System.out.println("输入错误!");
System.exit(1);
}
finally
{
ds.close();
}
}
}
public class Talk {
public static void main(String[] args) {
Rec r =new Rec();
Send s = new Send();
Thread rec = new Thread(r);
Thread send = new Thread(s);
rec.start();
send.start();
}
}