mirror of
https://github.com/binlaab/nanofiles.git
synced 2026-07-01 17:07:20 +02:00
arreglado ping y empezado peerdl y dirdl
This commit is contained in:
@@ -99,10 +99,26 @@ public class NFConnector {
|
||||
} else { return null; }
|
||||
return filelist.toArray(new FileInfo[0]);
|
||||
} catch (IOException e) { e.printStackTrace(); return null; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
public byte[] downloadChunk(String hash, int chunkNum) {
|
||||
try {
|
||||
PeerMessage msgOut = new PeerMessage(PeerMessageOps.OPCODE_REQUEST_PEER_DL);
|
||||
msgOut.setFileHash(hash);
|
||||
msgOut.setChunkNum(chunkNum);
|
||||
|
||||
msgOut.writeMessageToOutputStream(dos);
|
||||
|
||||
PeerMessage msgIn = PeerMessage.readMessageFromInputStream(dis);
|
||||
|
||||
if (msgIn.getOpcode() == PeerMessageOps.OPCODE_PEER_DL) {
|
||||
return msgIn.getFileData();
|
||||
}
|
||||
|
||||
} catch (IOException e) { e.printStackTrace(); }
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public InetSocketAddress getServerAddr() {
|
||||
return serverAddr;
|
||||
|
||||
@@ -25,6 +25,7 @@ public class PeerMessage {
|
||||
private String filenameVal;
|
||||
|
||||
private byte[] fileData;
|
||||
private int chunkNum;
|
||||
|
||||
|
||||
|
||||
@@ -98,6 +99,14 @@ public class PeerMessage {
|
||||
public void setFileData(byte[] fileData) {
|
||||
this.fileData = fileData;
|
||||
}
|
||||
|
||||
public int getChunkNum() {
|
||||
return chunkNum;
|
||||
}
|
||||
|
||||
public void setChunkNum(int chunkNum) {
|
||||
this.chunkNum = chunkNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método de clase para parsear los campos de un mensaje y construir el objeto
|
||||
@@ -149,11 +158,14 @@ public class PeerMessage {
|
||||
}
|
||||
|
||||
case PeerMessageOps.OPCODE_REQUEST_PEER_DL: {
|
||||
int longitudSubHash = (int)dis.readByte();
|
||||
// buscar archivo supongo
|
||||
}
|
||||
case PeerMessageOps.OPCODE_PEER_DL: {
|
||||
int longitudSubHash = (int) dis.readByte();
|
||||
byte[] subHash = new byte[longitudSubHash];
|
||||
dis.readFully(subHash);
|
||||
break;
|
||||
// buscar archivo supongo
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -219,7 +219,7 @@ public class NFServer implements Runnable {
|
||||
|
||||
msgOut.setFileHash(archivo.fileHash);
|
||||
msgOut.setFileSize(archivo.fileSize);
|
||||
msgOut.setFilenameVal(archivo.fileName);
|
||||
msgOut.setFilenameVal(archivo.filePath + archivo.fileName);
|
||||
msgOut.setFilenameLong((byte)archivo.fileName.length());
|
||||
msgOut.setLast(false);
|
||||
if (i == archivos.length - 1) msgOut.setLast(true);
|
||||
|
||||
Reference in New Issue
Block a user