Envoi et réception dun fichier.txt en java
Fermé
islem gnichi
-
15 janv. 2016 à 14:52
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 16 janv. 2016 à 14:55
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 16 janv. 2016 à 14:55
A voir également:
- Envoi et réception dun fichier.txt en java
- Accusé de reception gmail - Guide
- Probleme de reception tnt aujourd'hui 2023 - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel football - Télécharger - Jeux vidéo
1 réponse
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
120
16 janv. 2016 à 00:03
16 janv. 2016 à 00:03
Bonjour,
Vous pouvez faire appel aux "Socket"
Plein d'exemples sont disponibles, faites une tentative et on verra après si vous aurez des problèmes.
https://docs.oracle.com/javase/tutorial/networking/sockets/
Bon Courage.
Vous pouvez faire appel aux "Socket"
Plein d'exemples sont disponibles, faites une tentative et on verra après si vous aurez des problèmes.
https://docs.oracle.com/javase/tutorial/networking/sockets/
Bon Courage.
16 janv. 2016 à 09:25
Voici le code d'envoi:
FileInputStream fis = new FileInputStream(file1);
byte[] clientBuffer = new byte[1024];
System.out.println("Sending PL to Listener..");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
fis.read(clientBuffer);
baos.write(clientBuffer);
MulticastSocket ds = new MulticastSocket();
InetAddress adrss = InetAddress.getByName(MULTI_ADDR1);
DatagramPacket packet = new DatagramPacket(clientBuffer, clientBuffer.length, adrss, port3);
fis.close();
ds.send(packet);
ds.close();
System.out.println("PL file has been sent");
et ici le code de réception:
InetAddress inetAddress = InetAddress.getByName(MULTI_ADDR1);
MulticastSocket ds = new MulticastSocket(port3);
ds.joinGroup(inetAddress);
byte[] receivedPacket = new byte[1024];
DatagramPacket packet = new DatagramPacket( receivedPacket, receivedPacket.length ) ;
ds.receive( packet );
System.out.println("received the PL file..");
FileOutputStream fos = new FileOutputStream(file3);
byte[] data = packet.getData();
fos.write(data);
fos.flush();
fos.close();
ds.leaveGroup(inetAddress);
ds.close();
l'envoi est fait parfaitement et affiche tous les messages,mais le serveur reste en écoute et ne recu aucun fichier!
16 janv. 2016 à 14:55
Je ne vois pas l'ouverture de la Socket du côté client ni l'acceptance de la connexion de côté serveur alors je suppose que vous les avez fait ailleur.
Il faut récupérer le OutputStream de la socket côté client et le InputStream de la socket côté serveur. Ensuite, l'utiliusation d'un BufferedReader et d'un BufferedWriter vous permettra de faire des "println" côté client et des "readLine" côté serveur. Ainsi, vous exploitez le fait d'avoir un fichier texte (très compatible avec la nature des Socket) et non pas des données binaires.
Un exemple dans ce sense :
https://cs.lmu.edu/~ray/notes/javanetexamples/