| | |
| | | |
| | | mRunning = true; |
| | | |
| | | for (int i = 0; i < 5; i++) { |
| | | for (int i = 0; i < 5; i++) |
| | | { |
| | | this.server = new AsyncTcpServer (port + i); |
| | | this.server.Encoding = Encoding.UTF8; |
| | | this.server.ClientConnected += |
| | |
| | | new EventHandler<TcpClientDisconnectedEventArgs> (server_ClientDisconnected); |
| | | this.server.DatagramReceived += |
| | | new EventHandler<TcpDatagramReceivedEventArgs<byte[]>> (server_Received); |
| | | try { |
| | | try |
| | | { |
| | | this.server.Start (); |
| | | Debug.Log (string.Format("Tcp server started and listening at {0}", server.Port)); |
| | | break; |
| | | } catch (SocketException e) { |
| | | } |
| | | catch (SocketException e) |
| | | { |
| | | Debug.Log(string.Format("Tcp server bind to port {0} Failed!", server.Port)); |
| | | Debug.Log("--- Failed Trace Begin ---"); |
| | | Debug.LogError(e); |
| | | Debug.Log("--- Failed Trace End ---"); |
| | | // try next available port |
| | | this.server = null; |
| | | } |
| | | } |
| | | if (this.server == null) { |
| | | if (this.server == null) |
| | | { |
| | | Debug.LogError (string.Format("Unable to find an unused port from {0} to {1}", port, port + 5)); |
| | | } |
| | | vr_support.ClearCommands(); |
| | |
| | | public void stopListening() |
| | | { |
| | | mRunning = false; |
| | | server.Stop(); |
| | | server?.Stop(); |
| | | } |
| | | |
| | | [RPC] |
| | |
| | | // stop listening thread |
| | | stopListening(); |
| | | } |
| | | |
| | | void OnDestroy() |
| | | { |
| | | // stop listening thread |
| | | stopListening(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |