summaryrefslogtreecommitdiff
path: root/same/src/main/java/com/orbekk/net/BroadcastListener.java
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-02-13 18:02:02 +0100
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-02-13 18:02:02 +0100
commit585f0a27869c230917c220962e0faf954a283e81 (patch)
treeafae5345c84861c05a63385873735d08abecb907 /same/src/main/java/com/orbekk/net/BroadcastListener.java
parent50fe422a1eb0ea5e7d8999dfa0b8508acd4af585 (diff)
Fix broadcast code.
– Send broadcast from SameController. – Correct usage of SO_REUSEADDR. – BroadcasterInterface for Android code.
Diffstat (limited to 'same/src/main/java/com/orbekk/net/BroadcastListener.java')
-rw-r--r--same/src/main/java/com/orbekk/net/BroadcastListener.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/same/src/main/java/com/orbekk/net/BroadcastListener.java b/same/src/main/java/com/orbekk/net/BroadcastListener.java
index 59a1022..3fdfd23 100644
--- a/same/src/main/java/com/orbekk/net/BroadcastListener.java
+++ b/same/src/main/java/com/orbekk/net/BroadcastListener.java
@@ -3,6 +3,7 @@ package com.orbekk.net;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
+import java.net.InetSocketAddress;
import java.net.SocketException;
import org.slf4j.Logger;
@@ -21,7 +22,9 @@ public class BroadcastListener {
logger.debug("Waiting for broadcast on port " + port);
try {
if (socket == null) {
- socket = new DatagramSocket(port);
+ socket = new DatagramSocket(null);
+ socket.setReuseAddress(true);
+ socket.bind(new InetSocketAddress(port));
}
} catch (SocketException e) {
logger.warn("Failed to create socket.", e.fillInStackTrace());
@@ -29,7 +32,6 @@ public class BroadcastListener {
}
try {
socket.setBroadcast(true);
- socket.setReuseAddress(true);
} catch (SocketException e) {
logger.warn("Exception: {}", e);
}