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);
            }
                );
        }
コード例 #2
0
 private void HandleSocketAction(Action action)
 {
     try
     {
         _threadOperations.WaitUntilActionTimeout(action, _timeout);
     }
     catch (Exception)
     {
         //TODO: log
         throw new SocketException();
     }
 }