public static byte[] SolicitarDescargarArchivo(string nombreArchivo) { string mensajeRet = ""; //Verificamos que no exista un archivo con ese nombre if (archivosBajados == null) { archivosBajados = new List <string>(); } lock (archivosBajados) { if (archivosBajados.Contains(nombreArchivo)) { mensajeRet = "ERROR"; } else { mensajeRet = "OK"; archivosBajados.Add(nombreArchivo); } } string mensaje = nombreArchivo + "#" + mensajeRet; Protocolo.Protocolo prot = new Protocolo.Protocolo("REQ", "4", 9 + Encoding.ASCII.GetBytes(mensaje).Length, Encoding.ASCII.GetBytes(mensaje)); string protocoloString = prot.ToString(); byte[] bytes = Encoding.ASCII.GetBytes(protocoloString); return(bytes); }
static void ConectarseAlServidor() { bool isRunning = true; //Lo correcto sería verificar si el puerto está en uso, y si lo está pedir un puerto nuevo o buscar uno. IPEndPoint clientEndPoint = new IPEndPoint(IPAddress.Parse("172.20.1.106"), 6001); IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("172.20.1.106"), 6000); Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Bind(clientEndPoint); socket.Connect(serverEndPoint); Console.WriteLine("Conectado al servidor"); try { while (isRunning) { String message = "REQ" + Console.ReadLine(); byte[] data = Encoding.UTF8.GetBytes(message); Protocolo.Protocolo prot = Protocolo.Protocolo.Codificar(data); socket.Send(data); } } catch (SocketException ex) { socket.Shutdown(SocketShutdown.Both); socket.Close(); Console.WriteLine("El servidor cerró la conexión"); Console.ReadLine(); } }
public static string ProcesarRespuesta(byte[] respuesta) { Protocolo.Protocolo protocoloRespuesta = Protocolo.Protocolo.BytesAProtocolo(respuesta); byte[] bytesRespuesta = protocoloRespuesta.darBytes(); string ret = Encoding.UTF8.GetString(bytesRespuesta).TrimEnd().Replace("\0", string.Empty); return(ret); }
public static byte[] IniciarSesion(string nombreUsuario) { Protocolo.Protocolo prot = new Protocolo.Protocolo("REQ", "1", 9 + nombreUsuario.Length, Encoding.ASCII.GetBytes(nombreUsuario)); String protocoloString = prot.ToString(); byte[] bytes = Encoding.ASCII.GetBytes(protocoloString); return(bytes); }
public static byte[] CerrarSesion() { Protocolo.Protocolo prot = new Protocolo.Protocolo("REQ", "6", 9, new byte[0]); String protocoloString = prot.ToString(); byte[] bytes = Encoding.ASCII.GetBytes(protocoloString); return(bytes); }
public static byte[] SincronizarServidor(string datosServidor) { Protocolo.Protocolo prot = new Protocolo.Protocolo("REQ", "5", 9 + Encoding.ASCII.GetBytes(datosServidor).Length, Encoding.ASCII.GetBytes(datosServidor)); string protocoloString = prot.ToString(); byte[] bytes = Encoding.ASCII.GetBytes(protocoloString); return(bytes); }
public static byte[] DescargarPaqueteDeArchivo(string paqueteActual) { Protocolo.Protocolo prot = new Protocolo.Protocolo("REQ", "8", 9 + Encoding.ASCII.GetBytes(paqueteActual).Length, Encoding.ASCII.GetBytes(paqueteActual)); string protocoloString = prot.ToString(); byte[] bytes = Encoding.ASCII.GetBytes(protocoloString); return(bytes); }
public static byte[] SolicitarArchivos() { Protocolo.Protocolo prot = new Protocolo.Protocolo("REQ", "2", 9, new byte[0]); String protocoloString = prot.ToString(); byte[] bytes = Encoding.ASCII.GetBytes(protocoloString); return(bytes); }
public static byte[] CargarArchivo(string nombreArchivo) { int cantPaquetes = 0; try { int largo = File.ReadAllBytes(directorioCliente + "\\" + nombreArchivo).Length; cantPaquetes = (largo / 9990) + 1; // minimo 1 } catch (FileNotFoundException e) { } catch (DirectoryNotFoundException e) { } string archivoYCantPaquetes = nombreArchivo + "#" + cantPaquetes; Protocolo.Protocolo prot = new Protocolo.Protocolo("REQ", "3", 9 + archivoYCantPaquetes.Length, Encoding.ASCII.GetBytes(archivoYCantPaquetes)); String protocoloString = prot.ToString(); byte[] bytes = Encoding.ASCII.GetBytes(protocoloString); return(bytes); }
public static void Leer(Protocolo protocolo) { }
public static byte[] getDatos(byte[] data) { Protocolo.Protocolo prot = Protocolo.Protocolo.BytesAProtocolo(data); return(prot.darBytes()); }
public static int darLargo(byte[] data) { Protocolo.Protocolo prot = Protocolo.Protocolo.BytesAProtocolo(data); return(prot.DarLargo()); }