Example #1
0
 private void HandleComplete()
 {
     try
     {
         _currentClientRequest = Protocol.ClientMessage.Complete;
         _logger.WriteEntry(ToString());
         CloseConnection();
     }
     catch (Exception e)
     {
         _log.Error(String.Format("ERROR in HandleComplete(): {0}", e.Message), e);
         throw;
     }
 }
Example #2
0
        public void HandleClient()
        {
            try
            {
                while (_keepConnectionOpen)
                {
                    string messageFromClient = IoHelper.ReceiveMessage(_clientSocket);
                    _xmlDoc.LoadXml(messageFromClient);

                    Protocol.ClientMessage messageType = Protocol.GetClientMessageType(_xmlDoc);

                    switch (messageType)
                    {
                    case Protocol.ClientMessage.ReqSession:
                        HandleSessionRequest();
                        break;

                    case Protocol.ClientMessage.Complete:
                        HandleComplete();
                        break;

                    case Protocol.ClientMessage.CategoryListRequest:
                        HandleCategoryListRequest();
                        break;

                    case Protocol.ClientMessage.ImageListRequest:
                        HandleImageListRequest();
                        break;

                    case Protocol.ClientMessage.GetImage:
                        HandleGetImage();
                        break;

                    case Protocol.ClientMessage.Cancel:
                        HandleCancel();
                        break;

                    default:
                        HandleClientProtocolError();
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                _log.Error("ClientDialog ERROR", e);
                HandleClientProtocolError();
            }
        }
Example #3
0
        private void HandleCancel()
        {
            try
            {
                _currentClientRequest = Protocol.ClientMessage.Cancel;
                _logger.WriteEntry(ToString());

                // reset activity to its initial state TODO
            }
            catch (Exception e)
            {
                _log.Error(String.Format("ERROR in HandleCancel(): {0}", e.Message), e);
                throw;
            }
        }
Example #4
0
        private void HandleCategoryListRequest()
        {
            try
            {
                _currentClientRequest = Protocol.ClientMessage.CategoryListRequest;
                _logger.WriteEntry(ToString());

                var response = GetServerResponse(Protocol.ServerMessage.CategoryList);
                IoHelper.SendMessage(_clientSocket, response);
            }
            catch (Exception e)
            {
                _log.Error(String.Format("ERROR in HandleCategoryListRequest(): {0}", e.Message), e);
                throw;
            }
        }
Example #5
0
        private void HandleGetImage()
        {
            try
            {
                _currentClientRequest = Protocol.ClientMessage.GetImage;
                _logger.WriteEntry(ToString());

                int imageIndex = Protocol.ParseImageId(_xmlDoc);
                var image      = _dataSource.GetImage(imageIndex);

                var response = GetServerResponse(Protocol.ServerMessage.ImageBegin, imageIndex, image.Length);
                IoHelper.SendImage(_clientSocket, response, image);
            }
            catch (Exception e)
            {
                _logger.WriteEntry(String.Format("ERROR in HandleGetImage(): {0}", e.Message));
                _logger.WriteEntry(e.StackTrace);
                throw;
            }
        }