DakuTenshi
Messages postés2Date d'inscriptionvendredi 22 janvier 2010StatutMembreDernière intervention11 février 2010
-
11 févr. 2010 à 16:55
vbinsearch
Messages postés2Date d'inscriptiondimanche 7 février 2010StatutMembreDernière intervention13 février 2010
-
13 févr. 2010 à 22:26
Bonjours tout le monde.
Oui je sais c'est un peu étrange, mais pour un TP nous sommes censés envoyer des fichiers par protocole UDP, alors voici mes fonctions d'envoi et de réception:
private int port;
private String ip;
public void envoi(File file) throws Exception {
InetAddress adresseIP = InetAddress.getByName(this.ip);
DatagramSocket socket = new DatagramSocket();
FileInputStream stream = new FileInputStream(file);
byte[] contenu = new byte[(int) file.length()];
stream.read(contenu);
DatagramPacket packet = new DatagramPacket(contenu, contenu.length,
adresseIP, this.port);
socket.send(packet);
socket.close();
}
et
private int port;
public void receptionner(int nombre, File repertoire) throws Exception{
DatagramSocket ds = new DatagramSocket(this.port);
FileOutputStream fis;
DatagramPacket dp ;
ds.setSoTimeout(10000);
File f;
byte[] b;
for(int i = 0 ; i < nombre ; i++){
f = new File(repertoire.getAbsolutePath()+ File.separator +i);
fis = new FileOutputStream(f);
b = new byte[TAILLE_MAXIMALE];
dp = new DatagramPacket(b,TAILLE_MAXIMALE);
ds.receive(dp);
fis.write(dp.getData(),0,dp.getLength());
}
ds.close();
}
Voilà, ce code fonctionne parfaitement en local mais pas en pas local . Ce que je souhaiterais, ce serait que l'utilisateur puisse passer une ip du style "124.47.5.4" à this.ip et qu'il envoi le fichier à cette adresse IP, dans l'immédiat je peux rêver. Si l'IP est "localhost" ou "127.0.0.1" ça marche sans problème, malheureusement si je passe mon adresse IP, savepa. Kékejdoifer?
DakuTenshi
Messages postés2Date d'inscriptionvendredi 22 janvier 2010StatutMembreDernière intervention11 février 2010 11 févr. 2010 à 17:45
Alors, l'envoi se fait correctement, aucune exception n'est soulevée mais le receveur, ben il reçoit pas. Il reste bloqué jusqu'au timeout.
J'ai essayé avec le pare-feu désactivé, ça n'a rien changé :/. En plus j'ai essayé sur 2 PCs différents, un Windows et un Linux, et l'envoi ne fonctionne sur aucun des deux.