tftpput server, (non testé)
This commit is contained in:
@@ -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é
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user