From 585f0a27869c230917c220962e0faf954a283e81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Mon, 13 Feb 2012 18:02:02 +0100 Subject: Fix broadcast code. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit – Send broadcast from SameController. – Correct usage of SO_REUSEADDR. – BroadcasterInterface for Android code. --- same/src/main/java/com/orbekk/net/BroadcastListener.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'same/src/main/java/com/orbekk/net/BroadcastListener.java') 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); } -- cgit v1.2.3