Transfert de fichiers par UDP

DakuTenshi Messages postés 2 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 11 février 2010 - 11 févr. 2010 à 16:55
vbinsearch Messages postés 2 Date d'inscription dimanche 7 février 2010 Statut Membre Dernière intervention 13 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?

Merci de votre attention.

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
11 févr. 2010 à 17:06
Salut,

Et qu'est-ce qui ne marche pas ? Tu as des exceptions qui se déclenche ?

Es-tu sûr qu'il n'y a pas un parefeu qui bloque le port utilisé ?
______________________________________
DarK Sidious
0
DakuTenshi Messages postés 2 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 11 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.
0
vbinsearch Messages postés 2 Date d'inscription dimanche 7 février 2010 Statut Membre Dernière intervention 13 février 2010
13 févr. 2010 à 22:17
Bswar, peut-il y avoir des doublons d'IP, un qui créer des messages et l'autre récupère le téléchargmnt !
0
vbinsearch Messages postés 2 Date d'inscription dimanche 7 février 2010 Statut Membre Dernière intervention 13 février 2010
13 févr. 2010 à 22:26
S que se pourrais t'être, une restriction hautement administrer, ou je ne sais quel empécheur de tourner en ...
0