mirror of
https://github.com/binlaab/nanofiles.git
synced 2026-07-01 16:37:21 +02:00
Empezar boletín 5, el 4 está acabado
This commit is contained in:
@@ -189,7 +189,7 @@ public class NFDirectoryServer {
|
||||
|
||||
private void sendResponse(DatagramPacket pkt) throws IOException {
|
||||
/*
|
||||
* TODO: (Boletín MensajesASCII) Construir String partir de los datos recibidos
|
||||
* TODO?: (Boletín MensajesASCII) Construir String partir de los datos recibidos
|
||||
* en el datagrama pkt. A continuación, imprimir por pantalla dicha cadena a
|
||||
* modo de depuración. Después, usar la cadena para construir un objeto
|
||||
* DirMessage que contenga en sus atributos los valores del mensaje. A partir de
|
||||
@@ -209,6 +209,7 @@ public class NFDirectoryServer {
|
||||
if (receivedMsg != null) {
|
||||
operation = receivedMsg.getOperation();
|
||||
}
|
||||
DirMessage msgToSend = new DirMessage(DirMessageOps.OPERATION_INVALID);
|
||||
/*
|
||||
* TODO: (Boletín MensajesASCII) Construir un objeto DirMessage (msgToSend) con
|
||||
* la respuesta a enviar al cliente, en función del tipo de mensaje recibido,
|
||||
@@ -218,12 +219,14 @@ public class NFDirectoryServer {
|
||||
* enviar como respuesta (operation, etc.)
|
||||
*/
|
||||
switch (operation) {
|
||||
// TODO: creo que hay getters y setters para esto?????
|
||||
case DirMessageOps.OPERATION_PING: {
|
||||
|
||||
/*
|
||||
* done: (Boletín MensajesASCII) Comprobamos si el protocolId del mensaje del
|
||||
* cliente coincide con el nuestro.
|
||||
*/
|
||||
msgToSend = new DirMessage(operation);
|
||||
String protocolId = receivedMsg.getProtocolId();
|
||||
System.out.println(protocolId.equals(NanoFiles.PROTOCOL_ID));
|
||||
if (protocolId.equals(NanoFiles.PROTOCOL_ID)) {
|
||||
@@ -245,10 +248,26 @@ public class NFDirectoryServer {
|
||||
}
|
||||
|
||||
case DirMessageOps.OPERATION_REQUEST_DIRFILES : {
|
||||
FileInfo[] filelist = FileInfo.loadFilesFromFolder(Directory.DEFAULT_DIRECTORY_FILES_PATH);
|
||||
operation = DirMessageOps.OPERATION_DIRFILES;
|
||||
msgToSend = new DirMessage(DirMessageOps.OPERATION_DIRFILES, this.directoryFiles);
|
||||
break;
|
||||
}
|
||||
|
||||
case DirMessageOps.OPERATION_SERVE: {
|
||||
|
||||
if (registeredPeers.put(receivedMsg.getNick(), new InetSocketAddress(receivedMsg.getIP(), receivedMsg.getPort())) == null) {
|
||||
System.out.println("NFDS - añadido peer");
|
||||
msgToSend = new DirMessage(DirMessageOps.OPERATION_SERVE_OK);
|
||||
} else {
|
||||
msgToSend = new DirMessage(DirMessageOps.OPERATION_SERVE_ERROR);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case DirMessageOps.OPERATION_REQUEST_SERVER_PEERS: {
|
||||
msgToSend = new DirMessage(DirMessageOps.OPERATION_SERVER_PEERS);
|
||||
msgToSend.setPeers(registeredPeers);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
System.err.println("Unexpected message operation: \"" + operation + "\"");
|
||||
@@ -260,7 +279,6 @@ public class NFDirectoryServer {
|
||||
* (msgToSend) con el mensaje de respuesta a enviar, extraer los bytes en que se
|
||||
* codifica el string y finalmente enviarlos en un datagrama
|
||||
*/
|
||||
DirMessage msgToSend = new DirMessage(operation);
|
||||
String msgToSendStr = msgToSend.toString();
|
||||
byte[] dataToSend = msgToSendStr.getBytes();
|
||||
InetSocketAddress clientAddr = (InetSocketAddress) pkt.getSocketAddress();
|
||||
|
||||
Reference in New Issue
Block a user