Transfert de fichiers par UDP

Signaler
Messages postés
2
Date d'inscription
vendredi 22 janvier 2010
Statut
Membre
Dernière intervention
11 février 2010
-
Messages postés
2
Date d'inscription
dimanche 7 février 2010
Statut
Membre
Dernière intervention
13 février 2010
-
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

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
130
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
Messages postés
2
Date d'inscription
vendredi 22 janvier 2010
Statut
Membre
Dernière intervention
11 février 2010

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.
Messages postés
2
Date d'inscription
dimanche 7 février 2010
Statut
Membre
Dernière intervention
13 février 2010

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 !
Messages postés
2
Date d'inscription
dimanche 7 février 2010
Statut
Membre
Dernière intervention
13 février 2010

S que se pourrais t'être, une restriction hautement administrer, ou je ne sais quel empécheur de tourner en ...