IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Ma tête fume avec la programmation réseau (Socket) : Besoin de conseils stratégiques


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Par défaut Ma tête fume avec la programmation réseau (Socket) : Besoin de conseils stratégiques
    Bien l'bonjour à vous,

    Je me pose de sérieurses questions métaphysique sur la programmation réseau en Java avec les Sockets.

    Je me suis crée une petite maquette sous Eclipse pour valider chaque partie de mon application avant assemblage final.

    Et là je suis sur la validation de la brique de base : La communication entre mon client (Tablet Sony sous Android) et mon serveur (Tvix Xroid - Disque dur Media Player sous Android).

    1 - Le client demande (envoi d'un message) au serveur de lui transmettre un fichier (fichier XML). Si ce fichier n'est pas encore prêt, alors le serveur le signale au client, et le client retente une nouvelle requête ultérieurement.
    2 - Le client envoi au serveur une structure de données constituée comme suit (Je choisi d'envoyer un objet) :
    • Deux variables String
    • Une variable Boolean
    • Un tableau de Long

    3 - Ensuite, le client envoi au serveur une information qui peut prendre plusieurs valeurs prédéfinie (Je choisi d'envoyer un Enum)
    4 - Enfin le client demande au serveur (périodiquement) de lui retourner une structure de donnée permettant au client de mettre à jour son IHM (Je choisi d'envoyer un objet) :
    • Une variable String
    • Une variable Boolean
    • Une variable Long

    Mes questions :
    1. J'ai choisi d'établir chacun des 4 échanges à travers 4 Thread, et donc 4 objets de type java.net.Socket. Est-ce la bonne stratégie ?
    2. Le codage de ce mécanisme devient un vrai casse-tête. Je galère dans la synchronisation des envoi/réception de données. J'ai l'impression que le package java.nio (que je suis en train de découvrir) serait la soluce à ma problématique. Quels sont les avantages de ServerSocket par rapport à ServerSocketChannel ?
    3. Existe-t'il un moyen de connaître le type d'objet véhiculé dans un Socket ? L'idée serait de générer un seul Socket d'échange qui accepte tout format de données. A la lecture du format de la donnée (une structure de donnée, un Enum ou un fichier), je choisi un action adaptée du côté de celui qui recoit l'information.


    J'attend impatiemment vos lumières, car pour l'instant mon projet (voir détail ici) est bloqué...choix stratégique oblige

  2. #2
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    j'a pas tout compris... mais:
    - option 1: échanger des Objects via un ObjectStream, chaque objet "Protocole" contient touskif
    - option 2: rmi ?

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Par défaut
    Citation Envoyé par professeur shadoko Voir le message
    j'a pas tout compris...
    Heu...je suis un peu confus. J'ai pourtant pris soin de tout bien expliquer

  4. #4
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonjour,

    Pour reprendre professeur shadoko, tu n'en parles pas dans ton premier post, mais si tu ne connais pas l'API RMI (Remote Method Invocation) te permet de faire de bon traitement sur le reseau. Je ne peux pas trop t'aider pour ma part, j'ai juste utilisé 2-3fois pour découvrir.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Par défaut
    Citation Envoyé par XxArchangexX Voir le message
    Bonjour,

    Pour reprendre professeur shadoko, tu n'en parles pas dans ton premier post, mais si tu ne connais pas l'API RMI (Remote Method Invocation) te permet de faire de bon traitement sur le reseau. Je ne peux pas trop t'aider pour ma part, j'ai juste utilisé 2-3fois pour découvrir.
    Citation Envoyé par professeur shadoko Voir le message
    j'a pas tout compris... mais:
    - option 1: échanger des Objects via un ObjectStream, chaque objet "Protocole" contient touskif
    - option 2: rmi ?
    Pensez-vous sincèrement que vos réponses peuvent m'aider par rapport aux questions précises que je soumets à la communauté ?

  6. #6
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Pas forcement mais en même temps au vue de ton projet ( j'ai regardé ton lien) ce n'est pas un petit truc et tes questions sont comme tu le dis précise, si quelqu'un peut t'aider tant mieux mais on essaye de te donner des pistes sur le principe que tu ne peux pas étudier toutes les pistes, peut être qu'une t'aidera. Sinon tu peux payer un consultat expert à 400€ par jour et tu auras ta réponse.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  7. #7
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Citation Envoyé par elmaestro Voir le message
    Pensez-vous sincèrement que vos réponses peuvent m'aider par rapport aux questions précises que je soumets à la communauté ?
    absolument .... il s'agit de t'indiquer des pistes. mais si ça t'ennuie de chercher d'autres pistes, pardon du dérangement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réseau Voip besoin de conseils :)
    Par prati dans le forum Hardware
    Réponses: 1
    Dernier message: 05/04/2011, 09h33
  2. probleme avec le proxy (programmation des Socket)
    Par andyinfo dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 13/05/2009, 00h05
  3. programmation réseau avec quel langage
    Par nasdj dans le forum Développement
    Réponses: 4
    Dernier message: 05/01/2008, 22h37
  4. Programmation réseau : socket et thread
    Par roms712 dans le forum POSIX
    Réponses: 12
    Dernier message: 12/01/2007, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo