public void Listen(TcpListener tcpListener) { while (!_shouldStop) { var protocol = new TCPProtocol(); var clientName = String.Empty; protocol.Listen(tcpListener); try { var message = protocol.RecieveMessage(); clientName = message.ClientName; //Le comunico al servidor de conciliacion que un cliente se conecto. var remotingRequest = new ClientConnectionRequest() { ClientName = clientName }; _remotingService.SendMessage(remotingRequest); if (message.Header == MessageTypeEnum.REQ) { if (message.Cmd == CommandEnum.Download) { DownloadFile(protocol, (DownloadRequest)message); } else if (message.Cmd == CommandEnum.Upload) { UploadFile(protocol, (UploadRequest)message); } else if (message.Cmd == CommandEnum.ListFiles) { SendFileList(protocol, (ListFilesRequest)message); } else if (message.Cmd == CommandEnum.Backup) { SyncFiles(protocol, (ListFilesRequest)message); } } } catch (Exception ex) { Console.WriteLine("Ocurrio un error.", ex.Message); } finally { protocol.Disconnect(); //Le comunico al servidor de conciliacion que un cliente se desconecto. var remotingRequest = new ClientDisconnectionRequest() { ClientName = clientName }; _remotingService.SendMessage(remotingRequest); } } }
private void SendRemotingDisconnectionRequest() { //Le comunico al servidor de registro de actividad que me desconecto. var remotingRequest = new ClientDisconnectionRequest() { ClientName = ClientData.Instance.ClientName }; _remotingService.SendMessage(remotingRequest); }
public ClientDisonnectionResponse NotifyDisconnection(ClientDisconnectionRequest message) { try { AddItemToList(string.Format("Info: Se desconecto el cliente de nombre: {0}", message.ClientName)); CommunicationMQ.EnviarMensaje(CommunicationMQ.QueueConciliation, message, string.Format("Info: Se desconecto el cliente de nombre: {0}", message.ClientName)); return(new ClientDisonnectionResponse() { Cmd = CommandEnum.ClientDisconnection, Header = MessageTypeEnum.RES, Result = TransferResponseEnum.OK }); } catch (Exception ex) { throw new Exception(string.Format("Error: no se pudo notificar la conexion: {0}", ex.Message)); } }