java利用udp实现广播(client和server)

上一篇 / 下一篇  2012-11-16 15:03:39 / 个人分类:java开发

  1. package cn.kk.socket;  
  2.   
  3. import java.net.DatagramPacket;  
  4. import java.net.DatagramSocket;  
  5. import java.net.InetAddress;  
  6.   
  7. public class BroadCastTest {  
  8.       
  9.     public static void main(String args[])throws Exception{  
  10.         //sendBroadcast();  
  11.         receiveBroadcast();  
  12.     }  
  13.       
  14.     public static void sendBroadcast()throws Exception{  
  15.         DatagramSocket socket;  
  16.         DatagramPacket packet;  
  17.         byte[] data={1,2,3,4};  
  18.           
  19.         socket = new DatagramSocket();  
  20.         socket.setBroadcast(true); //有没有没啥不同  
  21.         //send端指定接受端的端口,自己的端口是随机的  
  22.         packet = new DatagramPacket(data,data.length,InetAddress.getByName("255.255.255.255"),8300);  
  23.         for(int i = 0 ; i < 50 ; i++){  
  24.             Thread.sleep(1000);  
  25.             socket.send(packet);  
  26.         }  
  27.     }  
  28.       
  29.     public static void receiveBroadcast()throws Exception{  
  1.  byte[] buffer = new byte[65507];  
  2.         DatagramSocket server = new DatagramSocket(8300);  
  3.         DatagramPacket packet = new DatagramPacket(buffer , buffer.length);  
  4.         for(;;){  
  5.             server.receive(packet);  
  6.             String s = new String(packet.getData( ), 0, packet.getLength( ));  
  7.             System.out.println(packet.getAddress( ) + " at port "   
  8.                        + packet.getPort( ) + " says " + s);  
  9.         }  
  10.     }  
  11.   
  12. }  

TAG:

 

评分:0

我来说两句

Open Toolbar