Android编程实现基于局域网udp广播自动建立socket连接的方法

2019-12-10 19:55:17王振洲
  • //224.0.0.1为广播地址   InetAddress address = InetAddress.getByName("224.0.0.1");  
  • //这个地方可以输出判断该地址是不是广播类型的地址   System.out.println(address.isMulticastAddress());  
  • dataPacket = new DatagramPacket(data, data.length, address,   8003);  
  • ms.send(dataPacket);   ms.close();  
  • } catch (Exception e) {   e.printStackTrace();  
  • }   }  
  • }   }  

    以下是服务端:

     

     
    1. public class MainActivity extends Activity implements Runnable {   private MulticastSocket ds;  
    2. String multicastHost="224.0.0.1";   InetAddress receiveAddress;  
    3. @Override  public void onCreate(Bundle savedInstanceState) {  
    4. super.onCreate(savedInstanceState);   setContentView(R.layout.main);  
    5. try {   ds = new MulticastSocket(8003);  
    6. receiveAddress=InetAddress.getByName(multicastHost);   ds.joinGroup(receiveAddress);  
    7. new Thread(this).start();   } catch (Exception e1) {  
    8. // TODO Auto-generated catch block   e1.printStackTrace();  
    9. }   }  
    10. @Override  public void run() {  
    11. // TODO Auto-generated method stub   byte buf[] = new byte[1024];