This commit is contained in:
2026-04-25 14:26:35 +02:00
parent c0fb933fce
commit 0cf758943b
10 changed files with 216 additions and 88 deletions

View File

@@ -289,7 +289,15 @@ public class DirectoryConnector {
* de la operación
*/
DirMessage serve = new DirMessage(DirMessageOps.OPERATION_SERVE, NanoFiles.peerNickname, this.directoryHostname, serverPort);
// este trozo hay que cambiarlo porque qué cojones
String ip = null;
try {
socket.connect(directoryAddress);
ip = socket.getLocalAddress().getHostAddress();
socket.disconnect();
} catch(Exception e) {}
DirMessage serve = new DirMessage(DirMessageOps.OPERATION_SERVE, NanoFiles.peerNickname, ip, serverPort);
byte[] serveBytes = serve.toString().getBytes();
byte[] response = sendAndReceiveDatagrams(serveBytes);
String respStr = new String(response, 0, response.length);

View File

@@ -193,19 +193,16 @@ public class DirMessage {
}
case FIELDNAME_NICK: {
System.out.println("nick");
m.setNick(value);
break;
}
case FIELDNAME_IP: {
System.out.println("ip");
m.setIP(value);
break;
}
case FIELDNAME_PORT: {
System.out.println("port " + Integer.parseInt(value));
m.setPort(Integer.parseInt(value));
break;
}
@@ -225,14 +222,16 @@ public class DirMessage {
}
case FIELDNAME_PEERS: {
System.out.println("Hemos entrado a FIELDNAME_PEERS");
Map<String, InetSocketAddress> peersList = new LinkedHashMap<>();
String[] peers = value.split(",");
for (String p: peers) {
String[] partes = p.split(":");
peersList.put(partes[0], new InetSocketAddress(partes[1], Integer.parseInt(partes[2])));
System.out.println("DirMessage - partes[0]: " + partes[0]);
if (peers[0].isBlank()) {
m.setPeers(peersList);
break;
}
for (String p: peers) {
System.out.println("p: " + p);
String[] partes = p.split(":");
peersList.put(partes[0], new InetSocketAddress(partes[1], Integer.parseInt(partes[2]))); }
m.setPeers(peersList);
break;

View File

@@ -255,7 +255,6 @@ public class NFDirectoryServer {
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);