summaryrefslogtreecommitdiff
path: root/same-android/src/main/java/com/orbekk/discovery
diff options
context:
space:
mode:
Diffstat (limited to 'same-android/src/main/java/com/orbekk/discovery')
-rw-r--r--same-android/src/main/java/com/orbekk/discovery/Broadcast.java2
-rw-r--r--same-android/src/main/java/com/orbekk/discovery/SameService.java13
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;
}