08-04-2007, 08:30 AM
(Modification du message : 08-04-2007, 08:36 AM par NicoMSEvent.)
il y a plein de parametres a prendre en compte...
1er cas : tu te connectes a un serveur apache, sans connection persistante
Chaque transaction demande l'ouverture d'un socket. C'est ce qu'on appelle une communication en mode non connecté. Rien n'empeche que la connection suivante se fasse via une autre route.
2eme cas : tu te connecte a un serveur apache avec connection persistantes.
La premiere transaction demande l'ouverture du socket. Ensuite, la connection reste ouvert x secondes (défini dans le fichier httpd.conf à la ligne KeepAlive ou qqch du genre).
Donc, a chaque transaction, il te faut vérifier que la connection est toujours active, et si elle ne l'est plus, te reconnecter. C'est beacoup oins gourmand en ressource, par contre ça demande des tests supplémentaires
3eme cas, ton serveur est un serveur fait maison, et la tu gère ça comme tu veux
Donc, pas besoin de boucle infinie...
1er cas : tu te connectes a un serveur apache, sans connection persistante
Chaque transaction demande l'ouverture d'un socket. C'est ce qu'on appelle une communication en mode non connecté. Rien n'empeche que la connection suivante se fasse via une autre route.
2eme cas : tu te connecte a un serveur apache avec connection persistantes.
La premiere transaction demande l'ouverture du socket. Ensuite, la connection reste ouvert x secondes (défini dans le fichier httpd.conf à la ligne KeepAlive ou qqch du genre).
Donc, a chaque transaction, il te faut vérifier que la connection est toujours active, et si elle ne l'est plus, te reconnecter. C'est beacoup oins gourmand en ressource, par contre ça demande des tests supplémentaires
3eme cas, ton serveur est un serveur fait maison, et la tu gère ça comme tu veux
Citation :mais j'ai l'impression que je dois les faire tourner en continue et donc laisser le socket en lecture dans une boucle infini sinon la socket se refermedans ton programme client, pas besoin de faire une boucle infinie, il faut faire de la programmation événementielle. Genre, dans borland builder C++ ou visual studio c++ (je prends ça en exemple parce que j'ai déja bossé avec), tu as une fonciton OnSocketRead (ou un nom qui s'en rapproche) qui est lancé automatiquement, dès qu'il y a une activité entrante sur ton client! C'est-y pas génial ça? ^^
Donc, pas besoin de boucle infinie...
Je signale que je ne détiens pas la vérité unique et absolue, je peux me tromper. La critique peut aussi être constructive. Critiquez moi!
La quête d'Ewilan
http://easy2hack.ma-soiree.be
La quête d'Ewilan
http://easy2hack.ma-soiree.be