Bonjour,
Voilà je veux faire une petite liste de diffusion personnel :) (comme
sympa) j'ai donc chercher comment faire un serveur en c++, cependant
je me heurte à quelques questions dont je ne trouve pas de solution
-> Vaut il mieux un thread par client, des qu'un client se connecte,
hop un nouveau thread
-> ou plutot un thread par tâche :
- un thread qui attent les clients et les stockes
dans une liste, parcours la liste et si un client a qqchose à dire,
il le traite (utilisation de select/poll) (traitement : connexion a
une base de donnees, recuperation des abonnees, envoi de mails aux
abonnées)
- un thread qui envoi les mails
- un thread qui attends les mails du serveur SMTP
Je precise que je suis sur monoprocesseur, la vitesse d'une commande
faite au serveur ne depassera pas les 30ms (le temps de la
reconnaitre, l'executer, envoyer une commande au thread mail,
envoyer la reponse ).
Je ne fais aucune supposition sur le nombre de connecté qu'il peut y
avoir simultanément (aussi bien 1 que 2000...)
Je cherche une bonne METHODE pour implementer mon serveur..
Bonjour,
Voilà je veux faire une petite liste de diffusion personnel :) (comme
sympa) j'ai donc chercher comment faire un serveur en c++, cependant
je me heurte à quelques questions dont je ne trouve pas de solution
-> Vaut il mieux un thread par client, des qu'un client se connecte,
hop un nouveau thread
-> ou plutot un thread par tâche :
- un thread qui attent les clients et les stockes
dans une liste, parcours la liste et si un client a qqchose à dire,
il le traite (utilisation de select/poll) (traitement : connexion a
une base de donnees, recuperation des abonnees, envoi de mails aux
abonnées)
- un thread qui envoi les mails
- un thread qui attends les mails du serveur SMTP
Je precise que je suis sur monoprocesseur, la vitesse d'une commande
faite au serveur ne depassera pas les 30ms (le temps de la
reconnaitre, l'executer, envoyer une commande au thread mail,
envoyer la reponse ).
Je ne fais aucune supposition sur le nombre de connecté qu'il peut y
avoir simultanément (aussi bien 1 que 2000...)
Je cherche une bonne METHODE pour implementer mon serveur..
Bonjour,
Voilà je veux faire une petite liste de diffusion personnel :) (comme
sympa) j'ai donc chercher comment faire un serveur en c++, cependant
je me heurte à quelques questions dont je ne trouve pas de solution
-> Vaut il mieux un thread par client, des qu'un client se connecte,
hop un nouveau thread
-> ou plutot un thread par tâche :
- un thread qui attent les clients et les stockes
dans une liste, parcours la liste et si un client a qqchose à dire,
il le traite (utilisation de select/poll) (traitement : connexion a
une base de donnees, recuperation des abonnees, envoi de mails aux
abonnées)
- un thread qui envoi les mails
- un thread qui attends les mails du serveur SMTP
Je precise que je suis sur monoprocesseur, la vitesse d'une commande
faite au serveur ne depassera pas les 30ms (le temps de la
reconnaitre, l'executer, envoyer une commande au thread mail,
envoyer la reponse ).
Je ne fais aucune supposition sur le nombre de connecté qu'il peut y
avoir simultanément (aussi bien 1 que 2000...)
Je cherche une bonne METHODE pour implementer mon serveur..
Voilà je veux faire une petite liste de diffusion personnel :)
(comme sympa) j'ai donc chercher comment faire un serveur en
c++, cependant je me heurte à quelques questions dont je ne
trouve pas de solution
-> Vaut il mieux un thread par client, des qu'un client se
connecte, hop un nouveau thread
-> ou plutot un thread par tâche :
- un thread qui attent les clients et les
stockes dans une liste, parcours la liste et si un client a
qqchose à dire, il le traite (utilisation de select/poll)
(traitement : connexion a une base de donnees, recuperation
des abonnees, envoi de mails aux abonnées)
- un thread qui envoi les mails
- un thread qui attends les mails du serveur SMTP
Je precise que je suis sur monoprocesseur, la vitesse d'une
commande faite au serveur ne depassera pas les 30ms (le temps
de la reconnaitre, l'executer, envoyer une commande au thread
mail, envoyer la reponse ).
Je ne fais aucune supposition sur le nombre de connecté qu'il
peut y avoir simultanément (aussi bien 1 que 2000...)
Je cherche une bonne METHODE pour implementer mon serveur..
Voilà je veux faire une petite liste de diffusion personnel :)
(comme sympa) j'ai donc chercher comment faire un serveur en
c++, cependant je me heurte à quelques questions dont je ne
trouve pas de solution
-> Vaut il mieux un thread par client, des qu'un client se
connecte, hop un nouveau thread
-> ou plutot un thread par tâche :
- un thread qui attent les clients et les
stockes dans une liste, parcours la liste et si un client a
qqchose à dire, il le traite (utilisation de select/poll)
(traitement : connexion a une base de donnees, recuperation
des abonnees, envoi de mails aux abonnées)
- un thread qui envoi les mails
- un thread qui attends les mails du serveur SMTP
Je precise que je suis sur monoprocesseur, la vitesse d'une
commande faite au serveur ne depassera pas les 30ms (le temps
de la reconnaitre, l'executer, envoyer une commande au thread
mail, envoyer la reponse ).
Je ne fais aucune supposition sur le nombre de connecté qu'il
peut y avoir simultanément (aussi bien 1 que 2000...)
Je cherche une bonne METHODE pour implementer mon serveur..
Voilà je veux faire une petite liste de diffusion personnel :)
(comme sympa) j'ai donc chercher comment faire un serveur en
c++, cependant je me heurte à quelques questions dont je ne
trouve pas de solution
-> Vaut il mieux un thread par client, des qu'un client se
connecte, hop un nouveau thread
-> ou plutot un thread par tâche :
- un thread qui attent les clients et les
stockes dans une liste, parcours la liste et si un client a
qqchose à dire, il le traite (utilisation de select/poll)
(traitement : connexion a une base de donnees, recuperation
des abonnees, envoi de mails aux abonnées)
- un thread qui envoi les mails
- un thread qui attends les mails du serveur SMTP
Je precise que je suis sur monoprocesseur, la vitesse d'une
commande faite au serveur ne depassera pas les 30ms (le temps
de la reconnaitre, l'executer, envoyer une commande au thread
mail, envoyer la reponse ).
Je ne fais aucune supposition sur le nombre de connecté qu'il
peut y avoir simultanément (aussi bien 1 que 2000...)
Je cherche une bonne METHODE pour implementer mon serveur..
Voilà je veux faire une petite liste de diffusion personnel :) (comme sympa)
j'ai donc chercher comment faire un serveur en c++, cependant je me heurte à
quelques questions dont je ne trouve pas de solution
Voilà je veux faire une petite liste de diffusion personnel :) (comme sympa)
j'ai donc chercher comment faire un serveur en c++, cependant je me heurte à
quelques questions dont je ne trouve pas de solution
Voilà je veux faire une petite liste de diffusion personnel :) (comme sympa)
j'ai donc chercher comment faire un serveur en c++, cependant je me heurte à
quelques questions dont je ne trouve pas de solution
Le mieux est de ne pas utiliser de threads du tout et de faire du
traitement asynchrone.
Par exemple, le serveur HTTP lighttpd qui est plus performant qu'apache.
Le mieux est de ne pas utiliser de threads du tout et de faire du
traitement asynchrone.
Par exemple, le serveur HTTP lighttpd qui est plus performant qu'apache.
Le mieux est de ne pas utiliser de threads du tout et de faire du
traitement asynchrone.
Par exemple, le serveur HTTP lighttpd qui est plus performant qu'apache.
Le mieux est de ne pas utiliser de threads du tout et de faire du
traitement asynchrone.
Par exemple, le serveur HTTP lighttpd qui est plus performant qu'apache.
Le mieux est de ne pas utiliser de threads du tout et de faire du
traitement asynchrone.
Par exemple, le serveur HTTP lighttpd qui est plus performant qu'apache.
Le mieux est de ne pas utiliser de threads du tout et de faire du
traitement asynchrone.
Par exemple, le serveur HTTP lighttpd qui est plus performant qu'apache.
qu'entend tu par traitement asynchrone ?
qu'entend tu par traitement asynchrone ?
qu'entend tu par traitement asynchrone ?
Merci, voici quelques precisions : j'ai un serveur fait en c++
(par moi) et le serveur SMTP (postfix)
Mon serveur accepte quelques commandes (LIST, GET...)
Exemple avec un thread par "tâche" donc 2 threads un pour les
mails, un pour discuter avec le client :
quand le client envoi LIST :
- le serveur parcours la liste des client et voit qu'un
client a qqchose à dire, il reconnait la commande, se
connecte a la BDD, recupere la liste, prepare le mail et
l'ajoute a la liste des mails à envoyer du thread mail,
puis on reponds au client : "mail envoyé"
- la thread mail prend la liste des mails à envoyer et les
envois (en se connectant à postfix).
voilà pour le fonctionnnement du serveur
Cela change t'il qqchose?
Merci, voici quelques precisions : j'ai un serveur fait en c++
(par moi) et le serveur SMTP (postfix)
Mon serveur accepte quelques commandes (LIST, GET...)
Exemple avec un thread par "tâche" donc 2 threads un pour les
mails, un pour discuter avec le client :
quand le client envoi LIST :
- le serveur parcours la liste des client et voit qu'un
client a qqchose à dire, il reconnait la commande, se
connecte a la BDD, recupere la liste, prepare le mail et
l'ajoute a la liste des mails à envoyer du thread mail,
puis on reponds au client : "mail envoyé"
- la thread mail prend la liste des mails à envoyer et les
envois (en se connectant à postfix).
voilà pour le fonctionnnement du serveur
Cela change t'il qqchose?
Merci, voici quelques precisions : j'ai un serveur fait en c++
(par moi) et le serveur SMTP (postfix)
Mon serveur accepte quelques commandes (LIST, GET...)
Exemple avec un thread par "tâche" donc 2 threads un pour les
mails, un pour discuter avec le client :
quand le client envoi LIST :
- le serveur parcours la liste des client et voit qu'un
client a qqchose à dire, il reconnait la commande, se
connecte a la BDD, recupere la liste, prepare le mail et
l'ajoute a la liste des mails à envoyer du thread mail,
puis on reponds au client : "mail envoyé"
- la thread mail prend la liste des mails à envoyer et les
envois (en se connectant à postfix).
voilà pour le fonctionnnement du serveur
Cela change t'il qqchose?
C'est aussi un serveur SMTP ? Ou quoi ?
Je ne suis pas sûr de comprendre cette distinction. Qu'est-ce
que tu entends par « discuter », et qu'est-ce que tu entends par
« client » ?
Que signififie cette commande ? Je ne le trouve pas dans RFC
2821.
C'est aussi un serveur SMTP ? Ou quoi ?
Je ne suis pas sûr de comprendre cette distinction. Qu'est-ce
que tu entends par « discuter », et qu'est-ce que tu entends par
« client » ?
Que signififie cette commande ? Je ne le trouve pas dans RFC
2821.
C'est aussi un serveur SMTP ? Ou quoi ?
Je ne suis pas sûr de comprendre cette distinction. Qu'est-ce
que tu entends par « discuter », et qu'est-ce que tu entends par
« client » ?
Que signififie cette commande ? Je ne le trouve pas dans RFC
2821.
"kanze" a écrit dans le message de news:
C'est aussi un serveur SMTP ? Ou quoi ?
non c'est un simple serveur qui accepte des commandes comme DATE,
LIST.. (enfin des commandes que j'ai definit)
Je ne suis pas sûr de comprendre cette distinction. Qu'est-ce
que tu entends par « discuter », et qu'est-ce que tu entends par
« client » ?
Un client etant une personne qui se connecte a mon serveur. Discuter
dans le sens, le client envoi une commande, le serveur repond...
Que signififie cette commande ? Je ne le trouve pas dans RFC
2821.
Ce n'est pas une commande au serveur SMTP mais à mon serveur, il faut
bien voir :
J'ai 2 serveurs : 1 c'est postfix, le 2eme c'est le mien,
En fait mon serveur, recoit une commande (par exemple LIST, cette
commande a ete definit par moi...aucune RFC), mon serveur reconnait
LIST et se connecte a la base de donnee pour aller chercher la liste,
puis l'envoi par mail en se connectant a postfix
Dans mon serveur j'ai donc une liste de sockets (qui sont les
clients), je fais un select sur cette liste pour voir si il y en a1
qui a quelque chose a dire (par exemple qui envoi LIST), si oui,
j'execute la commande et je reviens sur mon select, attendre..
Voilà je ne sais pas si c'est plus clair!
"kanze" <kanze@gabi-soft.fr> a écrit dans le message de news:
1139235147.798342.229430@g14g2000cwa.googlegroups.com...
C'est aussi un serveur SMTP ? Ou quoi ?
non c'est un simple serveur qui accepte des commandes comme DATE,
LIST.. (enfin des commandes que j'ai definit)
Je ne suis pas sûr de comprendre cette distinction. Qu'est-ce
que tu entends par « discuter », et qu'est-ce que tu entends par
« client » ?
Un client etant une personne qui se connecte a mon serveur. Discuter
dans le sens, le client envoi une commande, le serveur repond...
Que signififie cette commande ? Je ne le trouve pas dans RFC
2821.
Ce n'est pas une commande au serveur SMTP mais à mon serveur, il faut
bien voir :
J'ai 2 serveurs : 1 c'est postfix, le 2eme c'est le mien,
En fait mon serveur, recoit une commande (par exemple LIST, cette
commande a ete definit par moi...aucune RFC), mon serveur reconnait
LIST et se connecte a la base de donnee pour aller chercher la liste,
puis l'envoi par mail en se connectant a postfix
Dans mon serveur j'ai donc une liste de sockets (qui sont les
clients), je fais un select sur cette liste pour voir si il y en a1
qui a quelque chose a dire (par exemple qui envoi LIST), si oui,
j'execute la commande et je reviens sur mon select, attendre..
Voilà je ne sais pas si c'est plus clair!
"kanze" a écrit dans le message de news:
C'est aussi un serveur SMTP ? Ou quoi ?
non c'est un simple serveur qui accepte des commandes comme DATE,
LIST.. (enfin des commandes que j'ai definit)
Je ne suis pas sûr de comprendre cette distinction. Qu'est-ce
que tu entends par « discuter », et qu'est-ce que tu entends par
« client » ?
Un client etant une personne qui se connecte a mon serveur. Discuter
dans le sens, le client envoi une commande, le serveur repond...
Que signififie cette commande ? Je ne le trouve pas dans RFC
2821.
Ce n'est pas une commande au serveur SMTP mais à mon serveur, il faut
bien voir :
J'ai 2 serveurs : 1 c'est postfix, le 2eme c'est le mien,
En fait mon serveur, recoit une commande (par exemple LIST, cette
commande a ete definit par moi...aucune RFC), mon serveur reconnait
LIST et se connecte a la base de donnee pour aller chercher la liste,
puis l'envoi par mail en se connectant a postfix
Dans mon serveur j'ai donc une liste de sockets (qui sont les
clients), je fais un select sur cette liste pour voir si il y en a1
qui a quelque chose a dire (par exemple qui envoi LIST), si oui,
j'execute la commande et je reviens sur mon select, attendre..
Voilà je ne sais pas si c'est plus clair!