Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tester un serveur

2 réponses
Avatar
Yo
Bonjour,

Je ne sais pas si le sujet est tout à fait à sa place dans ce forum,
mais je n'ai pas trouvé d'autre forum où poser la question. Il s'agit
tout de même d'un développpement en VC++ version 2010.

Je dois développer un serveur TCP qui se connecte via une socket, et
gère un protocole. Je ne suis pas un spécialiste de ce genre de
développements.

Je cherche à tester ce protocole en utilisant le client TELNET de
Windows. Une fois que mon serveur est lancé, je me connecte par :

OPEN 127.0.0.1 12 où 12 est le numéro de port.
La socket de mon serveur détecte la connexion et créé une socket
clientepour gérer la suite de la connexion, mais de son côté, le client
TELNET de Windows affiche "Appuyez sur une touche pour continuer", et
que j'appuie sur une touche, il indique "Perte de la connexion à
l'hôte". Or je voudrais pouvoir tester mon protocole en utilisant la
commande SEND de TELNET pour envoyer les trames à mon serveur.

Cela est il possible, et si oui, comment faire ?

Merci de vos conseils. Si ce n'est pas le bon forum, merci de
m'indiquer lequel est plus approprié.

2 réponses

Avatar
Marc Boyer
Le 01-10-2010, Yo a écrit :
Je ne sais pas si le sujet est tout à fait à sa place dans ce forum,
mais je n'ai pas trouvé d'autre forum où poser la question.



fr.comp.infosystemes ?
fr.comp.reseaux.ip

Il s'agit tout de même d'un développpement en VC++ version 2010.



Mais comme ta pile TCP est codée en C, autant faire fr.comp.lang.c ?
Plus sérieusement, ça n'a strictement rien à voir avec C++ ou C. Tu
coderais ton serveur en python que tu aurais les mêmes problèmes.

Je cherche à tester ce protocole en utilisant le client TELNET de
Windows. Une fois que mon serveur est lancé, je me connecte par :

OPEN 127.0.0.1 12 où 12 est le numéro de port.
La socket de mon serveur détecte la connexion et créé une socket
clientepour gérer la suite de la connexion, mais de son côté, le client
TELNET de Windows affiche "Appuyez sur une touche pour continuer", et
que j'appuie sur une touche, il indique "Perte de la connexion à
l'hôte".



Et côté serveur, il dit quoi ?

Or je voudrais pouvoir tester mon protocole en utilisant la
commande SEND de TELNET pour envoyer les trames à mon serveur.



C'est quoi la commande "SEND" de telnet ?
Sinon, telnet, c'est bien adapté pour jouer avec des protocoles
'texte', mais pour un protocole binaire, il risque d'y avoir
interférences avec les codes de commande telnet non ?

En passant, on reserve le terme "trame" pour des échanges de niveau
2 en général (Ethernet).

Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
Avatar
James Kanze
On Oct 1, 9:57 am, Yo wrote:

Je ne sais pas si le sujet est tout à fait à sa place dans ce forum,
mais je n'ai pas trouvé d'autre forum où poser la question. Il s'agit
tout de même d'un développpement en VC++ version 2010.

Je dois développer un serveur TCP qui se connecte via une socket, et
gère un protocole. Je ne suis pas un spécialiste de ce genre de
développements.

Je cherche à tester ce protocole en utilisant le client TELNET de
Windows. Une fois que mon serveur est lancé, je me connecte par :

OPEN 127.0.0.1 12 où 12 est le numéro de port.
La socket de mon serveur détecte la connexion et créé une socket
clientepour gérer la suite de la connexion, mais de son côté, le cl ient
TELNET de Windows affiche "Appuyez sur une touche pour continuer", et
que j'appuie sur une touche, il indique "Perte de la connexion à
l'hôte". Or je voudrais pouvoir tester mon protocole en utilisant la
commande SEND de TELNET pour envoyer les trames à mon serveur.

Cela est il possible, et si oui, comment faire ?



En plus des commentaires de Marc : le port 12 est un « well
known port », dont il ne faut pas se servir sans régistration
par IANA. Les ports privés (utilisables sans régistration) sont
dans la portée 49152 à 65535.

Et pour le serveur, il faut bien un système de log, pour tracer
ce qui s'y passe. Dans ce cas-ci, par exemple : est-ce que le
serveur à reçu la démande de connection ou non ? (Sorti de
accept ? Avec ou sans erreur ?)

Enfin, la référence dans ce domain, c'est _UNIX_ _Network_
_Programming_, de Richard Stevens. Si tu dois programmer au
niveau des sockets, je le conseille fortement.

--
James Kanze