private void AcceptTcpClientCallback(IAsyncResult asyncResult) { if (_state != HttpServerState.Started) return; try { var listener = _listener; // Prevent race condition. if (listener == null) return; var tcpClient = listener.EndAcceptTcpClient(asyncResult); var client = new HttpClient(this, tcpClient); RegisterClient(client); client.BeginRequest(); BeginAcceptTcpClient(); } catch (ObjectDisposedException) { // EndAcceptTcpClient will throw a ObjectDisposedException // when we're shutting down. This can safely be ignored. } catch (Exception ex) { Log.Info("Failed to accept TCP client", ex); } }
private void AcceptTcpClientCallback(IAsyncResult asyncResult) { try { BeginAcceptTcpClient(); // Do this first so as exception below doesn't interrupt listening var listener = _listener; // Prevent race condition. if (listener == null) { return; } var tcpClient = listener.EndAcceptTcpClient(asyncResult); // If we've stopped already, close the TCP client now. if (_state != HttpServerState.Started) { tcpClient.Close(); return; } var client = new HttpClient(this, tcpClient); RegisterClient(client); client.BeginRequest(); } catch (ObjectDisposedException) { // EndAcceptTcpClient will throw a ObjectDisposedException // when we're shutting down. This can safely be ignored. } catch (Exception ex) { Log.Info("Failed to accept TCP client", ex); } }
private void AcceptTcpClientCallback(IAsyncResult asyncResult) { if (_state != HttpServerState.Started) return; try { var listener = _listener; // Prevent race condition. if (listener == null) return; var tcpClient = listener.EndAcceptTcpClient(asyncResult); var client = new HttpClient(this, tcpClient); RegisterClient(client); client.BeginRequest(); BeginAcceptTcpClient(); } catch (ObjectDisposedException) { // EndAcceptTcpClient will throw a ObjectDisposedException // when we're shutting down. This can safely be ignored. } catch (Exception ex) { Log.Info("Failed to accept TCP client", ex); } }