diff --git a/src/fr/klemek/minimario/Launch.java b/src/fr/klemek/minimario/Launch.java index eb5a4bc..84e2340 100644 --- a/src/fr/klemek/minimario/Launch.java +++ b/src/fr/klemek/minimario/Launch.java @@ -15,6 +15,8 @@ import java.util.Random; import javax.swing.SwingUtilities; +import fr.klemek.minimario.LocalServer.ConnectionListener; + public abstract class Launch { private static final String VERSION = "1.7.2"; @@ -32,6 +34,18 @@ public abstract class Launch { @Override public void run() { try { + LocalServer.startServer(new ConnectionListener(){ + @Override + public void onConnection() { + try { + new MarioWindow(null, currentFactor, null); + refreshTray(); + } catch (IOException e) { + e.printStackTrace(); + } + } + }); + new MarioWindow(null, currentFactor, null); addTrayIcon(MarioWindow.getAll().get(0)); } catch (IOException e) { diff --git a/src/fr/klemek/minimario/LocalServer.java b/src/fr/klemek/minimario/LocalServer.java new file mode 100644 index 0000000..b64ba7b --- /dev/null +++ b/src/fr/klemek/minimario/LocalServer.java @@ -0,0 +1,68 @@ +package fr.klemek.minimario; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.ServerSocket; +import java.net.Socket; + +public class LocalServer extends Thread { + + public static final int[] PORTS = {34881, 41834, 16118, 24326}; //4 random, one should be available + + public static final String CONTACT = "MiniMario !"; + + private ServerSocket serverSocket = null; + private Socket clientSocket = null; + + private ConnectionListener listener; + + public LocalServer(ConnectionListener listener){ + this.listener = listener; + } + + @Override + public void run() { + int i = 0; + while(i