CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] Projet avec Sockets et cie ...

Lony2
Lony2
Niveau 10
09 décembre 2012 à 21:17:03

Bonsoir !

J'ai un projet pour l'école, et j'aurais besoin d'un peu d'aide :ok:
Je préviens tout de suite, l'énoncé est en anglais donc, il se peut que ma trad' soit "bizarre" :

En gros, je dois pouvoir faire le backup de fichiers vers un serveur, et celui-ci doit pouvoir s'occuper de plusieurs clients en même temps. Le client peut aussi faire download.

Autant la partie "communication client-serveur", ça va j'ai compris, mais l'envoi et réception de fichiers me dépassent complètement ...
Donc, un peu d'aide serait la bienvenue, sachant que l'on a "appris" : les protocoles TCP, UDP, Threads, Sockets, et les systèmes REST. Merci d'avance

dark_drow
dark_drow
Niveau 15
10 décembre 2012 à 08:02:54

le sujet est libre ou pas ?
L'avantage de Java c'est quand même qu'il y a plein de bibliothèque dispo sur le web, et que c'est un langage de haut niveau... (je pense ici a RPC)

Ceci dit j'ai pas fait de transfert de fichier en java avec les sockets mais ça reste le même principe qu'un envoi de byte[]

Lony2
Lony2
Niveau 10
10 décembre 2012 à 13:18:45

Non, pas vraiment libre ... Il faut que plusieurs clients puissent faire l'upload d'un ou plusieurs fichiers vers un serveur et ensuite, plus tard, en faire le download. Une des restrictions est, vérifier que le fichier envoyé n'existe pas déjà pour éviter tout remplacement involontaire.
Oui, c'est exactement ça, j'en ai entendu parler en cours, que le fichier fasse 3 MO ou 3 GO, il faut que tout arrive à destination. Donc, tu peux m'expliquer l'envoi de byte[] stp ?

Pseudo supprimé
Pseudo supprimé 10 décembre 2012 à 19:13:31

Tu peux tout faire en REST, c'est assez adapté. Regarde du côté de Jersey. J'ai fait une petite présentation pour mon département (Aucun là-bas ne connaissait !) il y a quelques mois, si tu le souhaites, je peux te récupérer ça demain. Avec du code d'exemple et l'intégration avec JSON/jQuery si tu veux faire de la vue.

Par contre, tu voudras peut-être faire l'upload de fichier "en dur" avec TCP car même si c'est gérable en REST, je ne sais pas trop comment ça se passe pour la reprise sur erreur. Pour ça, ton cours est largement suffisant.

Lony2
Lony2
Niveau 10
11 décembre 2012 à 01:04:03

Effectivement, en revoyant mes cours, ça parle bien de "Jersey : JAX-RS".
Par contre, je n'ai quasiment aucune (si ce n'est zéro) expérience avec cette framework, et tout ce qui entoure REST, en fait ... Donc, oui, toute aide est la bienvenue, mon gros problème étant le partage de fichier. Et merci, encore :ok: .

Maugrey-Akira
Maugrey-Akira
Niveau 10
11 décembre 2012 à 03:00:06

Si t'arrives à établir une connexion client/serveur alors l'envoi de fichier est extrement simple.

Il suffit de visualiser le fait que la lecture d'un fichier (peu importe son extension) est juste la lecture d'un flux ... tout comme la communication entre client/serveur se fait via un flux :) Il suffit de faire en sorte que dans le flux de communication tu envoies ce que tu lis lors de la lecture du flux du fichier.

J'ai fais l'année derniere un programme client/serveur d'images et de musiques en me basant uniquement sur des InputStream et OutputStream.

Un exemple simple et rapide :
http://www.commentcamarche.net/forum/affich-22960561-envoi-des-fichiers-par-des-sockets-java

Après moi j'ai fais ça vraiment de mon coté, sans vraiment "d'attente" donc je sais pas si tes profs veulent que tu fasses comme ça.

Lony2
Lony2
Niveau 10
16 décembre 2012 à 01:00:25

Merci encore pour vos réponses :ok:

Quelqu'un ne connaitrait pas un bon site qui explique comment utiliser REST et/ou Jersey, par hasard ?

Lony2
Lony2
Niveau 10
17 décembre 2012 à 00:43:47

Aussi, j'ai trouvé cette vidéo sur Youtube :

http://www.youtube.com/watch?v=Uo5DY546rKY

Vous croyez que je puisse utiliser quelque chose de la vidéo pour mon travail ?
Une autre question un peu con-con, une fois le transfert du fichier, si j'éteins le programme et ensuite le relance, le fichier sera toujours là où je l'aurais envoyé ?
Merci d'avance.

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment