public virtual void exit() { if (serverThread != null) { serverThread.exit(); serverThread = null; } if (serverSocket != null) { try { serverSocket.close(); } catch (IOException e) { Console.WriteLine("Closing server socket", e); } serverSocket = null; } }
public virtual void start() { packetFactory = new PacketFactory(); try { serverSocket = new ServerSocket(port); serverSocket.SoTimeout = 1; } catch (IOException e) { Console.WriteLine(string.Format("Server socket at port {0:D} not available: {1}", port, e)); return; } users = new LinkedList <ProOnlineServer.User>(); games = new LinkedList <ProOnlineServer.Game>(); serverThread = new ProOnlineServerThread(this); serverThread.Name = "ProOnline Server Thread"; serverThread.Daemon = true; serverThread.Start(); }