public void Run() { _socket.Listen(10); _threadOperations.RunBackground( () => { _threadOperations.WaitUntilActionTimeout(() => { while (true) { try { var handle = _socket.Accept(); var buffer = new byte[8]; handle.Receive(buffer); var payload = _requestResponseCollection.GetResponse(buffer); if (payload != null) { handle.Send(payload); } handle.Close(); } catch (Exception) { //ignore } } }, 50); } ); }
private void HandleSocketAction(Action action) { try { _threadOperations.WaitUntilActionTimeout(action, _timeout); } catch (Exception) { //TODO: log throw new SocketException(); } }