Java Socket例程3 UDP

UdpSend.java

复制代码
import java.io.IOException; 
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UdpSend {
public static void main(String args[]){
DatagramSocket ds = null;
DatagramPacket dp = null;
try{
ds = new DatagramSocket(3000); //实例化一个UDP的套接字并绑定3000绑定
       }catch(SocketException e){
}
String str = "hello world";
try{
dp = new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),9000);
   }
catch(UnknownHostException ex1){
}
try{
ds.send(dp); //发送数据到本机的9000
}catch(IOException e){
}
ds.close();
}
}
复制代码
UdpReceive.java
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;


public class UdpReceive {
    public static void main(String args[]){
        DatagramSocket ds = null; //创建一个套接字对象
        byte[] buf = new byte[1024]; //实例化一个数组
        DatagramPacket dp = null; //创建一个套接字结构对象
        try{
            ds = new DatagramSocket(9000);//实例化并绑定端口       
        }
        catch(IOException e){
           
        }
       
        dp = new DatagramPacket(buf,1024);
        try{
            ds.receive(dp);//接收数据并存放在dp中
        }
        catch(IOException e2){
           
        }
        String str = new String(dp.getData(),0,dp.getLength()) +" from " +dp.getAddress().getHostAddress()+":"+dp.getPort();
        System.out.println(str); //打印接收到的内容
        ds.close();
    }
}
posted @ 2015-08-28 13:11  年少初成  阅读(128)  评论(0编辑  收藏  举报