Merge remote-tracking branch 'origin/master'
This commit is contained in:
16
src/main/java/pr/tp2/udp/chat/ChatMulticast.java
Normal file
16
src/main/java/pr/tp2/udp/chat/ChatMulticast.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package pr.tp2.udp.chat;
|
||||
|
||||
public class ChatMulticast {
|
||||
|
||||
private static class Receiver implements Runnable {
|
||||
@Override
|
||||
public void run() {
|
||||
// Code de reception et affichage
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// Lecture au clavier et envoie du message
|
||||
// Vous pouvez utiliser Scanner : https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Scanner.html
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
package pr.tp2.udp.discovery;
|
||||
|
||||
public class Discovery {
|
||||
|
||||
public static void sendWhois(String id) {
|
||||
// Envoie un message Whois
|
||||
}
|
||||
|
||||
public static void sendLeaving(String id) {
|
||||
// Envoie un message Leaving
|
||||
}
|
||||
|
||||
public static void sendIAM(String id, String url) {
|
||||
// Envoie un message IAM
|
||||
}
|
||||
|
||||
public static void listenAndReply() {
|
||||
// Ecoute et affiche les évennements IAM,LEAVING
|
||||
|
||||
// Réponds aux WHOIS si ID = ID
|
||||
// URL du service :
|
||||
String ID = "051005022";
|
||||
String URL = "https://istic.univ-rennes1.fr/";
|
||||
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String cmd = args[0], url = null, id = null;
|
||||
if (args.length > 1) {
|
||||
id = args[1];
|
||||
}
|
||||
if (args.length == 3) {
|
||||
url = args[2];
|
||||
}
|
||||
|
||||
switch (cmd) {
|
||||
case "listen":
|
||||
listenAndReply();
|
||||
break;
|
||||
case "iam":
|
||||
sendIAM(id, url);
|
||||
break;
|
||||
case "leaving":
|
||||
sendLeaving(id);
|
||||
break;
|
||||
case "whois":
|
||||
sendWhois(id);
|
||||
break;
|
||||
default:
|
||||
System.out.println("Erreur de commande");
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package pr.tp2.udp.discovery;
|
||||
|
||||
public class TestDiscovery {
|
||||
|
||||
public static void main(String[] args) throws InterruptedException {
|
||||
Runnable listener = () -> {
|
||||
Discovery.listenAndReply();
|
||||
};
|
||||
new Thread(listener).start();
|
||||
|
||||
Discovery.sendWhois("051005022");
|
||||
Discovery.sendIAM("tftp", "127.0.0.1:6969");
|
||||
|
||||
Thread.sleep(10000);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3,33 +3,52 @@ package pr.tp2.udp.tftp;
|
||||
import java.io.IOException;
|
||||
import java.net.DatagramPacket;
|
||||
import java.net.DatagramSocket;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.SocketAddress;
|
||||
|
||||
public class TftpPutServeur {
|
||||
|
||||
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
|
||||
DatagramPacket p = null;
|
||||
// Reception du packet
|
||||
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
|
||||
decodeRequest(p);
|
||||
// Attention à ne pas afficher plus d'informations que nécessaire.
|
||||
//System.out.println("plus d'informations que nécessaire");
|
||||
|
||||
// Envoyer acquittement
|
||||
// sendAck(server, /***/);
|
||||
// Décodage du packet
|
||||
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 {
|
||||
System.out.println("Send " + seqNumber + " to " + dstAddr);
|
||||
|
||||
// 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é
|
||||
|
||||
|
||||
Reference in New Issue
Block a user