mirror of
https://github.com/binlaab/nanofiles.git
synced 2026-07-01 13:47:41 +02:00
uwu
This commit is contained in:
@@ -9,6 +9,7 @@ import java.net.Socket;
|
||||
import java.net.UnknownHostException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import es.um.redes.nanoFiles.tcp.message.PeerMessage;
|
||||
import es.um.redes.nanoFiles.tcp.message.PeerMessageOps;
|
||||
@@ -35,8 +36,10 @@ public class NFConnector {
|
||||
* partir de los streams de entrada/salida del socket creado. Se usarán para
|
||||
* enviar (dos) y recibir (dis) datos del servidor.
|
||||
*/
|
||||
try {
|
||||
|
||||
socket = new Socket(serverAddr.getAddress(), serverAddr.getPort());
|
||||
socket = new Socket(fserverAddr.getAddress(), fserverAddr.getPort());
|
||||
} catch (Exception e) { e.printStackTrace(); }
|
||||
dis = new DataInputStream(socket.getInputStream());
|
||||
dos = new DataOutputStream(socket.getOutputStream());
|
||||
|
||||
@@ -57,11 +60,11 @@ public class NFConnector {
|
||||
System.out.println("received " + intNumber);
|
||||
*/
|
||||
try {
|
||||
PeerMessage msgOut = new PeerMessage(PeerMessageOps.OPCODE_REQUEST_PEER_FILES);
|
||||
PeerMessage msgOut = new PeerMessage((byte) 1);
|
||||
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("received " + msgIn.getOpcode() + " " + 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: ");
|
||||
@@ -76,7 +79,29 @@ public class NFConnector {
|
||||
}
|
||||
|
||||
|
||||
|
||||
public FileInfo[] getFileList() {
|
||||
try {
|
||||
LinkedList<FileInfo> filelist = new LinkedList<>();
|
||||
PeerMessage msgOut = new PeerMessage(PeerMessageOps.OPCODE_REQUEST_PEER_FILES);
|
||||
msgOut.writeMessageToOutputStream(dos);
|
||||
PeerMessage msgIn = PeerMessage.readMessageFromInputStream(dis);
|
||||
if (msgIn.getOpcode() == PeerMessageOps.OPCODE_PEER_FILE) {
|
||||
boolean last = false;
|
||||
while (!last) {
|
||||
long size = msgIn.getFileSize();
|
||||
String hash = msgIn.getFileHash();
|
||||
String name = msgIn.getFilenameVal();
|
||||
FileInfo file = new FileInfo(hash, name, size, null);
|
||||
filelist.add(file);
|
||||
last = msgIn.getLast();
|
||||
if (!last) msgIn = PeerMessage.readMessageFromInputStream(dis); // tengo que ver si puedo hacerlo diferente
|
||||
}
|
||||
} else { return null; }
|
||||
return filelist.toArray(new FileInfo[0]);
|
||||
} catch (IOException e) { e.printStackTrace(); return null; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public InetSocketAddress getServerAddr() {
|
||||
|
||||
Reference in New Issue
Block a user