mirror of
https://github.com/binlaab/nanofiles.git
synced 2026-07-01 13:37:22 +02:00
uwu
This commit is contained in:
@@ -7,6 +7,11 @@ import java.net.InetSocketAddress;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
|
||||
import es.um.redes.nanoFiles.application.NanoFiles;
|
||||
import es.um.redes.nanoFiles.tcp.message.PeerMessage;
|
||||
import es.um.redes.nanoFiles.tcp.message.PeerMessageOps;
|
||||
import es.um.redes.nanoFiles.util.FileInfo;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -78,12 +83,26 @@ public class NFServer implements Runnable {
|
||||
DataInputStream dis = new DataInputStream(socket.getInputStream());
|
||||
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
|
||||
|
||||
int intNumber = dis.readInt();
|
||||
/* int intNumber = dis.readInt();
|
||||
System.out.println("received " + intNumber);
|
||||
|
||||
int newInt = intNumber + 1;
|
||||
dos.writeInt(newInt);
|
||||
System.out.println("sent " + newInt);
|
||||
System.out.println("sent " + newInt); */
|
||||
|
||||
PeerMessage msgIn = PeerMessage.readMessageFromInputStream(dis);
|
||||
System.out.println("received " + msgIn.getOpcode() + " " + PeerMessageOps.opcodeToOperation(msgIn.getOpcode()));
|
||||
|
||||
if (msgIn.getOpcode() == PeerMessageOps.OPCODE_REQUEST_PEER_FILES) {
|
||||
PeerMessage msgOut = new PeerMessage(PeerMessageOps.OPCODE_PEER_FILE);
|
||||
msgOut.setLast(true);
|
||||
msgOut.setFileSize(62);
|
||||
msgOut.setFileHash("abcdefghijklmnoprqstuvwxyzaaaaaaaaaaaaaa");
|
||||
msgOut.setFilenameLong((byte) 10);
|
||||
msgOut.setFilenameVal("prueba.txt");
|
||||
msgOut.writeMessageToOutputStream(dos);
|
||||
System.out.println("sent " + PeerMessageOps.opcodeToOperation(msgOut.getOpcode()));
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// ???????
|
||||
}
|
||||
@@ -183,13 +202,36 @@ public class NFServer implements Runnable {
|
||||
|
||||
InetSocketAddress clientAddr = (InetSocketAddress) socket.getRemoteSocketAddress();
|
||||
try {
|
||||
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
|
||||
DataInputStream dis = new DataInputStream(socket.getInputStream());
|
||||
while(true) {
|
||||
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
|
||||
DataInputStream dis = new DataInputStream(socket.getInputStream());
|
||||
|
||||
PeerMessage msgIn = PeerMessage.readMessageFromInputStream(dis);
|
||||
switch (msgIn.getOpcode()) {
|
||||
case PeerMessageOps.OPCODE_REQUEST_PEER_FILES:
|
||||
|
||||
|
||||
FileInfo[] archivos = NanoFiles.db.getFiles();
|
||||
|
||||
for (int i = 0; i < archivos.length; i++) {
|
||||
PeerMessage msgOut = new PeerMessage(PeerMessageOps.OPCODE_PEER_FILE);
|
||||
FileInfo archivo = archivos[i];
|
||||
|
||||
msgOut.setFileHash(archivo.fileHash);
|
||||
msgOut.setFileSize(archivo.fileSize);
|
||||
msgOut.setFilenameVal(archivo.fileName);
|
||||
msgOut.setFilenameLong((byte)archivo.fileName.length());
|
||||
msgOut.setLast(false);
|
||||
if (i == archivos.length - 1) msgOut.setLast(true);
|
||||
msgOut.writeMessageToOutputStream(dos);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user