Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2240 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Question] Socket (résolu)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Question] Socket (résolu)

n°676508
xterminhat​e
Si vis pacem, para bellum.
Posté le 17-03-2004 à 19:49:06  profilanswer
 

Bonsoir,
 
   Je rencontre une petite difficulté avec une gestion de socket. Je programme une application cliente qui execute la succession de fonctions suivantes :
 
1) socket(...)
2) bind(...)
3) connect(...)
4) send(...)
5) recv(...)
6) shutdown(...)
7) (socket)close()
 
   Globalement, le transfer de données par le réseau se passe bien.
 
   A l'étapte 2), je force le client à utiliser un socket particulier (local) afin de bien maitriser les ports utilisés par mon application cliente. Je fais pareil au niveau de l'application serveur. Dans ce dernier cas, c'est logique et ca marche bien evidemment.  
 
   Le problème est que lorsque je répete cette succession d'instructions rapidement.... ca coince un peu. Le premier bind fait encore effet lorsque le deuxieme tente de s'executer. DRonc, le second bind plante et tout mon service réseau est à genou.
 
   Toutes suggestions ou remarques sont les bienvenues !
 
   Forcer le port d'un client réseau est il si "déconnant" ou existe t il des solutions (tourner sur plusieurs ports par exemple pour laisser le temps aux bind de se "défairent" tout seuls).
 
Cordialement,
   XteR.


Message édité par xterminhate le 17-03-2004 à 20:17:43
mood
Publicité
Posté le 17-03-2004 à 19:49:06  profilanswer
 

n°676516
mrbebert
Posté le 17-03-2004 à 20:08:36  profilanswer
 

Pourquoi tu "répètes ces instructions rapidement" :??:  
Généralement, le client se connecte au début, et reste connecté. Il n'y a que les étapes 4 et 5 qui sont répétées.
 
Pour le bind, est-ce vraiment utile sur le client ? Le plus simple est de laisser le système trouver un port disponible.
De plus, avec ta méthode, tu ne pourrais pas avoir 2 clients sur la même machine [:figti]


Message édité par mrbebert le 17-03-2004 à 20:09:09
n°676519
xterminhat​e
Si vis pacem, para bellum.
Posté le 17-03-2004 à 20:14:47  profilanswer
 

Mon application serveur relache (close) la connexion immédiatement apres la premiere transaction, donc mon application cliente execute également un close pour terminer un cycle correctement.
 
Je suis en phase de test unitaire. L'un des tests est rebouclé de sorte a "secouer" l'application. Cela n'est finallement pas tres représentatif de l'utilisation finale. Le time out sur le bind est peut etre suffisant en condition normale d'utilisation.
 
Enfin, l'application cliente intègre plusieurs services réseaux de type client dont un est unique et est bindé à un port donné : celui qui me pose pb.
 
Cela dit, je crois que je vais laisser le système allouer un port libre.... plutot que m'embeter à faire une gestion de socket compliquée sans interet.
 
Merci,
  Xter.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Question] Socket (résolu)

 

Sujets relatifs
Question sur CheckListBox[JSP+Oracle] Résolu - taille d'une table
question basique sur les variables dans du xsl[Perl] probleme avec sub - subroutine [résolu -> howto inside]
convertir un string en double, question API[CSS] mise en page !!RESOLU!!
[RESOLU] [ORACLE] pb de trigger à l'insertion pl-sqlquestion de taille d'image de fond !!!
complexite algo, question simple[ Résolu ][ Borland ] Humilié par la portée de mes objets :whistle:
Plus de sujets relatifs à : [Question] Socket (résolu)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR