mirror of
https://github.com/binlaab/nanofiles.git
synced 2026-07-01 18:16:29 +02:00
quemen redes
This commit is contained in:
@@ -7,6 +7,8 @@ import java.io.RandomAccessFile;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.Socket;
|
||||
import java.net.UnknownHostException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import es.um.redes.nanoFiles.tcp.message.PeerMessage;
|
||||
import es.um.redes.nanoFiles.tcp.message.PeerMessageOps;
|
||||
@@ -18,20 +20,25 @@ public class NFConnector {
|
||||
private InetSocketAddress serverAddr;
|
||||
|
||||
|
||||
|
||||
private DataInputStream dis;
|
||||
private DataOutputStream dos;
|
||||
|
||||
public NFConnector(InetSocketAddress fserverAddr) throws UnknownHostException, IOException {
|
||||
serverAddr = fserverAddr;
|
||||
/*
|
||||
* TODO: (Boletín SocketsTCP) Se crea el socket a partir de la dirección del
|
||||
* done: (Boletín SocketsTCP) Se crea el socket a partir de la dirección del
|
||||
* servidor (IP, puerto). La creación exitosa del socket significa que la
|
||||
* conexión TCP ha sido establecida.
|
||||
*/
|
||||
/*
|
||||
* TODO: (Boletín SocketsTCP) Se crean los DataInputStream/DataOutputStream a
|
||||
* done: (Boletín SocketsTCP) Se crean los DataInputStream/DataOutputStream a
|
||||
* partir de los streams de entrada/salida del socket creado. Se usarán para
|
||||
* enviar (dos) y recibir (dis) datos del servidor.
|
||||
*/
|
||||
|
||||
socket = new Socket(serverAddr.getAddress(), serverAddr.getPort());
|
||||
dis = new DataInputStream(socket.getInputStream());
|
||||
dos = new DataOutputStream(socket.getOutputStream());
|
||||
|
||||
|
||||
|
||||
@@ -39,9 +46,33 @@ public class NFConnector {
|
||||
|
||||
public void test() {
|
||||
/*
|
||||
* TODO: (Boletín SocketsTCP) Enviar entero cualquiera a través del socket y
|
||||
* done: (Boletín SocketsTCP) Enviar entero cualquiera a través del socket y
|
||||
* después recibir otro entero, comprobando que se trata del mismo valor.
|
||||
*/
|
||||
/* double rand = Math.random() * 100;
|
||||
int intNumber = (int) rand;
|
||||
dos.writeInt(intNumber);
|
||||
System.out.println("sent " + intNumber);
|
||||
int newIntNumber = dis.readInt();
|
||||
System.out.println("received " + intNumber);
|
||||
*/
|
||||
try {
|
||||
PeerMessage msgOut = new PeerMessage(PeerMessageOps.OPCODE_REQUEST_PEER_FILES);
|
||||
msgOut.writeMessageToOutputStream(dos);
|
||||
System.out.println("sent " + PeerMessageOps.opcodeToOperation(msgOut.getOpcode()));
|
||||
PeerMessage msgIn = PeerMessage.readMessageFromInputStream(dis);
|
||||
System.out.println("received " + PeerMessageOps.opcodeToOperation(msgIn.getOpcode()));
|
||||
System.out.println("(" + new SimpleDateFormat("HH:mm:ss:SS").format(new Date()));
|
||||
if (msgIn.getOpcode() == PeerMessageOps.OPCODE_PEER_FILE) {
|
||||
System.out.println("file content: ");
|
||||
System.out.println("last = " + msgIn.getLast());
|
||||
System.out.println("fileSize = " + msgIn.getFileSize());
|
||||
System.out.println("hash = " + msgIn.getFileHash());
|
||||
System.out.println("long = " + msgIn.getFilenameLong());
|
||||
System.out.println("val = " + msgIn.getFilenameVal());
|
||||
}
|
||||
socket.close();
|
||||
} catch (IOException e) { e.printStackTrace(); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user