package ownerSocket;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class ChartDemo {
/**
* @param args
* @throws SocketException
*/
public static void main(String[] args) throws SocketException {
// TODO Auto-generated method stub
DatagramSocket send = new DatagramSocket();
DatagramSocket receive = new DatagramSocket(10003);
new Thread(new SendDemo(send)).start();
new Thread(new ReceiverDemo(receive)).start();
}
}
package ownerSocket;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class SendDemo implements Runnable {
private DatagramSocket ds;
public SendDemo(DatagramSocket ds) {
super();
this.ds = ds;
}
public void run() {
// TODO Auto-generated method stub
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
String line = null;
try{
while((line=bufr.readLine())!=null)
{
byte[] b = line.getBytes();
DatagramPacket dp = new DatagramPacket(b, b.length,InetAddress.getByName("lenovo-PC"),10003);
ds.send(dp);
}
ds.close();
}catch(Exception e){}
}
}
package ownerSocket;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class ReceiverDemo implements Runnable {
private DatagramSocket ds;
public ReceiverDemo(DatagramSocket ds) {
super();
this.ds = ds;
}
public void run() {
// TODO Auto-generated method stub
try{
while(true){
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);
String ip = dp.getAddress().getHostAddress();
int port = dp.getPort();
String content = new String(dp.getData(),0,dp.getLength());
System.out.println("ip:"+ip+" port:"+port+" content:"+content);
if(content.equals("88")){
System.out.println(ip+"退出聊天....");
}
}
}catch(Exception e){}
}
}