mirror of
https://github.com/binlaab/nanofiles.git
synced 2026-07-01 18:36:30 +02:00
quemen redes
This commit is contained in:
@@ -12,8 +12,15 @@ public class NFController {
|
||||
* Diferentes estados del cliente de acuerdo con el autómata
|
||||
*/
|
||||
private static final byte OFFLINE = 0;
|
||||
private static final byte WAIT_ACK_PING = 1;
|
||||
private static final byte ONLINE = 2;
|
||||
private static final byte RETRY_PING = 3;
|
||||
private static final byte END = 4;
|
||||
private static final byte WAIT_ACK_REQUESTDIRFILES = 5;
|
||||
private static final byte RETRY_REQUESTDIRFILES = 6;
|
||||
|
||||
/*
|
||||
* TODO: (Boletín Autómatas) Añadir más constantes que representen los estados
|
||||
* DONE: (Boletín Autómatas) Añadir más constantes que representen los estados
|
||||
* del autómata del cliente de directorio.
|
||||
*/
|
||||
|
||||
@@ -138,8 +145,12 @@ public class NFController {
|
||||
commandSucceeded = controllerPeer.listPeerFiles(peerAddr);
|
||||
break;
|
||||
case NFCommands.COM_DOWNLOAD_PEER:
|
||||
commandSucceeded = controllerPeer.downloadFromPeers(controllerDir, targetPeerNickname,
|
||||
if (NanoFiles.testModeTCP) {
|
||||
controllerPeer.testTCPClient();
|
||||
} else {
|
||||
commandSucceeded = controllerPeer.downloadFromPeers(controllerDir, targetPeerNickname,
|
||||
targetHashSubstring);
|
||||
}
|
||||
break;
|
||||
case NFCommands.COM_SERVE:
|
||||
/*
|
||||
@@ -217,6 +228,12 @@ public class NFController {
|
||||
commandAllowed = true;
|
||||
break;
|
||||
}
|
||||
|
||||
case NFCommands.COM_PING: {
|
||||
|
||||
// ?????
|
||||
}
|
||||
|
||||
default:
|
||||
// System.err.println("ERROR: undefined behaviour for " + currentCommand + "
|
||||
// command!");
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package es.um.redes.nanoFiles.logic;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.ServerSocket;
|
||||
import java.io.IOException;
|
||||
import es.um.redes.nanoFiles.tcp.client.NFConnector;
|
||||
import es.um.redes.nanoFiles.application.NanoFiles;
|
||||
@@ -46,7 +47,21 @@ public class NFControllerLogicP2P {
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
try {
|
||||
fileServer = new NFServer();
|
||||
ServerSocket serverSocket = fileServer.getServerSocket();
|
||||
if (serverSocket.isBound()) {
|
||||
System.out.println("Server socket listening on port " + serverSocket.getLocalPort());
|
||||
serverRunning = true;
|
||||
}
|
||||
|
||||
Thread mainServerThread = new Thread(fileServer);
|
||||
mainServerThread.start();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
System.err.println("Cannot start the file server");
|
||||
fileServer = null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -86,7 +101,7 @@ public class NFControllerLogicP2P {
|
||||
assert (NanoFiles.testModeTCP);
|
||||
/*
|
||||
* (Boletín SocketsTCP) Inicialmente, se creará un NFConnector (cliente TCP)
|
||||
* para conectarse a un servidor que esté escuchando en la misma máquina y un
|
||||
* para conectarse a un servidor que esté escuchando en la m isma máquina y un
|
||||
* puerto fijo. Después, se ejecutará el método "test" para comprobar la
|
||||
* comunicación mediante el socket TCP. Posteriormente, se desactivará
|
||||
* "testModeTCP" para implementar la descarga de un fichero desde múltiples
|
||||
@@ -95,6 +110,7 @@ public class NFControllerLogicP2P {
|
||||
|
||||
try {
|
||||
NFConnector nfConnector = new NFConnector(new InetSocketAddress(NFServer.PORT));
|
||||
// meter la ip como primer argumento a InetSocketAddress()
|
||||
nfConnector.test();
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
|
||||
Reference in New Issue
Block a user