private void OnClientConnected(IAsyncResult ar) { TcpClient client = null; try { client = _listener.EndAcceptTcpClient(ar); try { _listener.BeginAcceptTcpClient(new AsyncCallback(OnClientConnected), null); } catch (System.Net.Sockets.SocketException e) { LogManager.Logger.Fatal("TcpNetworkGateway.OnClientConnected()", "\t Failed to accept TcpClients. " + e.Message); throw; } catch (Exception ex) { LogManager.Logger.Fatal("TcpNetworkGateway.OnClientConnected()", "\t Failed to accept TcpClients. " + ex.Message); throw; } MemTcpClient clientHandler = new MemTcpClient(client, _protocol); lock(_clients) _clients.Add(clientHandler); clientHandler.Start(); } catch (Exception e) { string clientName = ""; if (client != null) { clientName = client.Client.RemoteEndPoint.ToString(); clientName = " for " + clientName; } LogManager.Logger.Fatal("TcpNetworkGateway.OnClientConnected()", "\t Failed to initialize MemTcpClient " + clientName + e.Message+e.StackTrace); try { client.Close(); } catch (Exception) { } } }
private void OnClientConnected(IAsyncResult ar) { TcpClient client = null; try { client = _listener.EndAcceptTcpClient(ar); try { _listener.BeginAcceptTcpClient(new AsyncCallback(OnClientConnected), null); } catch (System.Net.Sockets.SocketException e) { LogManager.Logger.Fatal("TcpNetworkGateway.OnClientConnected()", "\t Failed to accept TcpClients. " + e.Message); throw; } catch (Exception ex) { LogManager.Logger.Fatal("TcpNetworkGateway.OnClientConnected()", "\t Failed to accept TcpClients. " + ex.Message); throw; } MemTcpClient clientHandler = new MemTcpClient(client, _protocol); lock (_clients) _clients.Add(clientHandler); clientHandler.Start(); } catch (Exception e) { string clientName = ""; if (client != null) { clientName = client.Client.RemoteEndPoint.ToString(); clientName = " for " + clientName; } LogManager.Logger.Fatal("TcpNetworkGateway.OnClientConnected()", "\t Failed to initialize MemTcpClient " + clientName + e.Message + e.StackTrace); try { client.Close(); } catch (Exception) { } } }