UDP协议

UDP发送端:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPSend {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
		byte[] data = "你好UDP".getBytes();
         DatagramPacket  dp = new DatagramPacket(data, data.length,InetAddress.getLocalHost(),8000);
//		DatagramPacket  dp = new DatagramPacket
         DatagramSocket ds= new DatagramSocket();
         ds.send(dp);
         ds.close();
	}

}

UDP接收端:

public class UDPReceive {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
         DatagramSocket ds = new DatagramSocket(8000);
         byte[] data = new byte[1024];
         DatagramPacket dp = new DatagramPacket(data, data.length);
         ds.receive(dp);

         String add = dp.getAddress().getHostAddress();
         int port = dp.getPort();
         int len = dp.getLength();
        
         ds.close();
         System.out.println(new String(data,0,len)+"...."+add+":"+port);
	}

}

  从键盘录入发送端:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

public class UDPsendDemo {
       public static void main(String args[]) throws IOException{
    	   Scanner sc = new Scanner(System.in);
    	   while(true){
    	   byte[] data = sc.nextLine().getBytes();
    	   DatagramPacket dp = new DatagramPacket(data, data.length,InetAddress.getLocalHost(),9000);
    	   DatagramSocket ds = new DatagramSocket();
    	   ds.send(dp);
           }
//    	   ds.close();
    }
}

  接收端:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPreciveDemo {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
           DatagramSocket ds  = new DatagramSocket(9000);
           byte[] data = new byte[1024];
           
           while(true){
        	   DatagramPacket dp = new DatagramPacket(data, data.length);
        	   ds.receive(dp);
        	   InetAddress add = dp.getAddress();
        	   int port = dp.getPort();
        	   int len = dp.getLength();
        	   System.out.println(new String(data,0,len)+"..."+add.getHostAddress()+":"+port);
        
           }
           
	}

}

  

posted @ 2017-07-20 21:16  木木诺94  阅读(156)  评论(0)    收藏  举报