}
ds.close();
}
}
接收端
[java]
package net.csdn.web;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class DemoReceive2 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
DatagramSocket ds = new DatagramSocket(9009);
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);
}
}
}
package net.csdn.web;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class DemoReceive2 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
DatagramSocket ds = new DatagramSocket(9009);
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);
}
}
}

对话框,在同一区域进行收发
[java] view plaincopyprint package src.com.hbsi.net;
import java.net.*;
import java.io.*;
public class ChatDemo {
/**
* @param args
*/
public static void main(String[] args) {
try {
DatagramSocket send=new DatagramSocket();
DatagramSocket rece=new DatagramSocket(9008);
new Thread(new ChatSend(send)).start();
new Thread(new ChatRece(rece)).start();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class ChatSend implements Runnable{
DatagramSocket ds;
public ChatSend(DatagramSocket ds){
this.ds=ds;
}
@Override
public void run() {
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String line=null;
while((line=br.readLine())!=null){
if(line.equals("over"))
break;
byte[] buf=line.getBytes();
DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.49.255"),9008);
ds.send(dp);
}
ds.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
class ChatRece implements Runnable{
DatagramSocket ds;
public ChatRece(DatagramSocket ds){
this.ds=ds;
}
@Override
public void run() {
while(true){
try{
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,buf.length);
ds.receive(dp);
String ip=dp.getAddress().getHostAddress();