tftpput server, (non testé)

This commit is contained in:
trochas
2025-02-11 16:33:08 +01:00
parent 6cf8242807
commit 61b2310420

View File

@@ -3,33 +3,52 @@ package pr.tp2.udp.tftp;
import java.io.IOException; import java.io.IOException;
import java.net.DatagramPacket; import java.net.DatagramPacket;
import java.net.DatagramSocket; import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketAddress; import java.net.SocketAddress;
public class TftpPutServeur { public class TftpPutServeur {
public static void main(String[] args) { public static void main(String[] args) {
// Attends sur le port 6969 try {
// Attends sur le port 6969
DatagramSocket socket = new DatagramSocket(6969);
// Boucle // Boucle
while(true){
byte buffer[] = new byte[100];
// Reception du packet // Reception du packet
DatagramPacket p = null; DatagramPacket p = new DatagramPacket(buffer, buffer.length);
socket.receive(p);
// Affichage du packet String requete = new String(buffer);
// Attention à ne pas afficher plus d'informations que nécessaire. // Affichage du packet
System.out.println("requete : " + requete);
// Décodage du packet // Attention à ne pas afficher plus d'informations que nécessaire.
decodeRequest(p); //System.out.println("plus d'informations que nécessaire");
// Envoyer acquittement // Décodage du packet
// sendAck(server, /***/); decodeRequest(p);
// Envoyer acquittement
short seq = 2;
sendAck(socket,seq,new InetSocketAddress(p.getAddress(), p.getPort())); //TODO
}
}
catch (Exception e) {
}
} }
public static void sendAck(DatagramSocket server, short seqNumber, SocketAddress dstAddr) throws IOException { public static void sendAck(DatagramSocket server, short seqNumber, SocketAddress dstAddr) throws IOException {
System.out.println("Send " + seqNumber + " to " + dstAddr); System.out.println("Send " + seqNumber + " to " + dstAddr);
// Construire le paquet avec les bonnes informations // Construire le paquet avec les bonnes informations
byte[] ackBytes = "ack".getBytes();
DatagramPacket p = new DatagramPacket(ackBytes,ackBytes.length,dstAddr);
server.send(p);
// afficher le tableau de bytes envoyé // afficher le tableau de bytes envoyé