public ConnectionServer(Int32 port, IServerListener serverListener)
        {
            IPAddress addr = GetLocalIPv4();

            listener = serverListener;
            server = new TcpListener(addr, port);

            server.Start();

            connectionThread = new Thread(delegate()
            {
                while (true)
                {
                    lock(connectionThread)
                    {
                        if (!running) break;
                    }

                    TcpClient client = server.AcceptTcpClient();
                    listener.onNewTcpConnection(client);
                }
            });
        }