package com.hackerchai.rapid.Thread; import android.net.wifi.WifiManager; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; /** * Created by 轶晟 on 2015/1/25. */ public class UdpHelper implements Runnable { //指示监听线程是否终止 public Boolean IsThreadDisable = false; public String broadcastUsername; private static WifiManager.MulticastLock lock; InetAddress mInetAddress; public UdpHelper(WifiManager manager,String userName) { this.lock= manager.createMulticastLock("UDPwifi"); this.broadcastUsername=userName; } public static void send(String message) { int server_port = 49160; DatagramSocket s = null; try { s = new DatagramSocket(); } catch (SocketException e) { e.printStackTrace(); } InetAddress local = null; try { local = InetAddress.getByName("255.255.255.255"); } catch (UnknownHostException e) { e.printStackTrace(); } int msg_length = message.length(); byte[] messageByte = message.getBytes(); DatagramPacket p = new DatagramPacket(messageByte, msg_length, local, server_port); try { s.send(p); s.close(); } catch (IOException e) { e.printStackTrace(); } } @Override public void run() { while( true ){ try { send(broadcastUsername); Thread.sleep(200); } catch (Exception e) { System.out.println( e.toString()); } } } }