diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-26 18:18:44 +0100 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-26 18:18:44 +0100 |
commit | 980f590ef8db3c17567c343d279102a0caa022dd (patch) | |
tree | 4914d436b6beb21a6c0066459b1815ad7af7019b /same-android/src/main/java/com/orbekk/discovery | |
parent | 2cdf284f7efabfe66dd6f72c80cba8323283ee6e (diff) |
Server/Client discovery service.
Diffstat (limited to 'same-android/src/main/java/com/orbekk/discovery')
-rw-r--r-- | same-android/src/main/java/com/orbekk/discovery/Broadcast.java | 2 | ||||
-rw-r--r-- | same-android/src/main/java/com/orbekk/discovery/SameService.java | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/same-android/src/main/java/com/orbekk/discovery/Broadcast.java b/same-android/src/main/java/com/orbekk/discovery/Broadcast.java index 5f592db..c674f65 100644 --- a/same-android/src/main/java/com/orbekk/discovery/Broadcast.java +++ b/same-android/src/main/java/com/orbekk/discovery/Broadcast.java @@ -41,7 +41,7 @@ public class Broadcast { public synchronized boolean sendBroadcast(byte[] data, int port) { try { - socket = new DatagramSocket(port); + socket = new DatagramSocket(0); socket.setBroadcast(true); DatagramPacket packet = new DatagramPacket(data, data.length, getBroadcastAddress(), port); socket.send(packet); diff --git a/same-android/src/main/java/com/orbekk/discovery/SameService.java b/same-android/src/main/java/com/orbekk/discovery/SameService.java index 149b882..154239f 100644 --- a/same-android/src/main/java/com/orbekk/discovery/SameService.java +++ b/same-android/src/main/java/com/orbekk/discovery/SameService.java @@ -12,7 +12,10 @@ import android.widget.Toast; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.orbekk.same.MasterApp; + public class SameService extends Service { + final static int PORT = 15066; private Logger logger = LoggerFactory.getLogger(getClass()); private Thread discoveryThread = null; @@ -26,7 +29,7 @@ public class SameService extends Service { @Override public void run() { while (!Thread.interrupted()) { byte[] data = new byte[1024]; - DatagramPacket packet = broadcast.receiveBroadcast(15066); + DatagramPacket packet = broadcast.receiveBroadcast(PORT); String content = new String(packet.getData(), 0, packet.getLength()); Message message = Message.obtain(); message.obj = content; @@ -49,6 +52,11 @@ public class SameService extends Service { } }; + private void sendBroadcastDiscovery() { + byte[] data = "Discover".getBytes(); + new Broadcast(this).sendBroadcast(data, PORT); + } + @Override public IBinder onBind(Intent intent) { return null; @@ -64,6 +72,9 @@ public class SameService extends Service { discoveryThread.start(); } } + if (intent.getAction().equals("join")) { + sendBroadcastDiscovery(); + } return START_STICKY; } |