public void SyncServers() { var protocol = new TCPProtocol(); try { var request = new ListFilesRequest(); //Me conecto al servidor de archivos protocol.ConnectClient(ClientData.Instance.ServerIP, ClientData.Instance.ServerPort); SendRemotingConnectionRequest(); //Reutilizo este mensaje, cambiandole el CMD request.Cmd = CommandEnum.Backup; //Envio pedido var response = request.ListFiles(protocol); } catch { CurrentStatus = "Ocurrio un error."; } finally { protocol.Disconnect(); SendRemotingDisconnectionRequest(); } }
public List <string> ListFiles() { var protocol = new TCPProtocol(); try { var request = new ListFilesRequest(); //Me conecto al servidor de archivos protocol.ConnectClient(ClientData.Instance.ServerIP, ClientData.Instance.ServerPort); SendRemotingConnectionRequest(); //Envio pedido y obtengo respuesta var response = request.ListFiles(protocol); List <string> fileList = response.Data.Split(',').ToList(); fileList.Remove(fileList.Last()); CurrentStatus = "Listado recibido con exito."; return(fileList); } catch (Exception e) { CurrentStatus = "Ocurrio un error desconocido."; return(new List <string>()); } finally { protocol.Disconnect(); SendRemotingDisconnectionRequest(); } }
private void SyncFiles(TCPProtocol protocol, ListFilesRequest request) { int pos = 0; foreach (var serverIP in ServerData.Instance.ServersIPs) { //Envio pedido y obtengo respuesta var port = ServerData.Instance.ServersPorts[pos]; //Me conecto al servidor "serverIP" protocol.ConnectClient(serverIP, port); var response = request.ListFiles(protocol); List <string> fileList = response.Data.Split(',').ToList(); fileList.Remove(fileList.Last()); foreach (var file in fileList) { if (!ServerData.Instance.FileList.Contains(file)) { //El archivo no existe, pido para descargarlo var downloadRequest = new DownloadRequest(); downloadRequest.FileName = file; downloadRequest.Rest = 0; var downloadResponse = downloadRequest.DownloadFile(protocol, ServerData.Instance.FileRepository); if (downloadResponse.Result == TransferResponseEnum.OK) { Console.WriteLine("Archivo descargado con exito"); ServerData.Instance.FileList.Add(file); } } } pos++; } }