diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-26 15:57:57 +0100 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-26 15:57:57 +0100 |
commit | c2c1e4c5aad74a7fbca5c281f9d8ea2d0ba99ad3 (patch) | |
tree | 03fe8c0a8e3eb1d9d0bac8b3545f08d0d916d8f7 /same-android/src/main/java/com/orbekk/Broadcast.java | |
parent | 55beb6df753604996ae61f8a099db40f0906804e (diff) |
Add Discovery service.
DiscoveryService listens to UDP broadcasts.
Diffstat (limited to 'same-android/src/main/java/com/orbekk/Broadcast.java')
-rw-r--r-- | same-android/src/main/java/com/orbekk/Broadcast.java | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/same-android/src/main/java/com/orbekk/Broadcast.java b/same-android/src/main/java/com/orbekk/Broadcast.java deleted file mode 100644 index 84b2d6e..0000000 --- a/same-android/src/main/java/com/orbekk/Broadcast.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.orbekk; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.SocketException; -import java.net.UnknownHostException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import android.content.Context; -import android.net.DhcpInfo; -import android.net.wifi.WifiManager; - -public class Broadcast { - private Context context; - private Logger logger = LoggerFactory.getLogger(getClass()); - - public Broadcast(Context context) { - this.context = context; - } - - public InetAddress getBroadcastAddress() { - WifiManager wifi = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); - DhcpInfo dhcp = wifi.getDhcpInfo(); - - int broadcast = (dhcp.ipAddress & dhcp.netmask) | ~dhcp.netmask; - byte[] quads = new byte[4]; - for (int k = 0; k < 4; k++) - quads[k] = (byte) ((broadcast >> k * 8) & 0xFF); - try { - return InetAddress.getByAddress(quads); - } catch (UnknownHostException e) { - logger.warn("Failed to find broadcast address."); - return null; - } - } - - public boolean sendBroadcast(byte[] data, int port) { - try { - DatagramSocket socket = new DatagramSocket(port); - socket.setBroadcast(true); - DatagramPacket packet = new DatagramPacket(data, data.length, getBroadcastAddress(), port); - socket.send(packet); - return true; - } catch (SocketException e) { - logger.warn("Failed to send broadcast.", e.fillInStackTrace()); - return false; - } catch (IOException e) { - logger.warn("Error when sending broadcast.", e.fillInStackTrace()); - return false; - } - } -}
\ No newline at end of file |