protocole de communication reseau

Le
Bruno Nogent
Bonjour,
Je dois realiser un protocole entre deux programme C ( un client et un
serveur)
en utilisant des sockets.

Connaitriez-vous des exemples de protocole de communication qui prennent en
charge des messages d'une taille superieure au buffers de reception et
pouvant traiter un echange de donnees oriente service ?
ex :
le client se connecte au serveur
le client discute avec un service serveur A via cette connection
le client discute avec un service serveur B via cette meme connection
Comment fragmenter les grands messages et traiter les messages destines aux
services differents

Sinon comment cela est-il generalement implemente ?

Merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Marc
Le #614179
Bruno Nogent" news:c53ik8$agj$
Bonjour,
Je dois realiser un protocole entre deux programme C ( un client et un
serveur)
en utilisant des sockets.


Hello,

quelques conseils de lecture (les fonctions suivantes ne font pas partie de
la norme, mais ont les trouve sur la plupart des OS):

send
recv
listen
socket
bind
accept
FD_CLEAR
FD_ISSET

En regardant l'aide de ces fonctions, tu dois avoir de quoi écrire un
client, un serveur et mettre en place une communication entre les 2.
L'utilisation de accept et des macro FD_* permettra de gérer les messages
plus grands que le buffers d'émission et de réception.

En complément, un peu de Google : "socket programming C" te donnera plein
de liens avec tout ce qu'il faut comme explications sur le sujet, tous OS
confondus.

Jean-Marc

Emmanuel Delahaye
Le #614175
In 'fr.comp.lang.c', "Bruno Nogent"
Je dois realiser un protocole entre deux programme C ( un client et un
serveur)
en utilisant des sockets.


Nice try! Un programme n'est pas plus C que Pascal ou BASIC. Une fois
compilé-lié, c'est un exécutable. Point. Pour la justification pour poster
sur le forum C, c'est raté!

Connaitriez-vous des exemples de protocole de communication qui prennent en
charge des messages d'une taille superieure au buffers de reception et
pouvant traiter un echange de donnees oriente service ?


Depuis quand est-ce qu'un protocole a à voir avec un langage de programmation
?

Il existe un forum consacré aux réseaux.

news:fr.reseaux.telecom.techniques

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/

Jean-Luc Andréï
Le #613668
Salut,
j'y connais rien dans la programmation socket, est ce que ces fonctions
pourraient fonctionner entre un programme serveur (sous linux) et un
programme client (sous windows) ou alors faut il utiliser autre chose?
"Jean-Marc" news:40759be3$0$1973$
Bruno Nogent" news:c53ik8$agj$
Bonjour,
Je dois realiser un protocole entre deux programme C ( un client et un
serveur)
en utilisant des sockets.


Hello,

quelques conseils de lecture (les fonctions suivantes ne font pas partie
de

la norme, mais ont les trouve sur la plupart des OS):

send
recv
listen
socket
bind
accept
FD_CLEAR
FD_ISSET

En regardant l'aide de ces fonctions, tu dois avoir de quoi écrire un
client, un serveur et mettre en place une communication entre les 2.
L'utilisation de accept et des macro FD_* permettra de gérer les messages
plus grands que le buffers d'émission et de réception.

En complément, un peu de Google : "socket programming C" te donnera plein
de liens avec tout ce qu'il faut comme explications sur le sujet, tous OS
confondus.

Jean-Marc






Emmanuel Delahaye
Le #613665
In 'fr.comp.lang.c', "Jean-Luc Andréï"
j'y connais rien dans la programmation socket, est ce que ces fonctions
pourraient fonctionner entre un programme serveur (sous linux) et un
programme client (sous windows)


Oui. Le protocole (TCP/IP, UDP etc.) n'a rien à voir avec les fonctions. Il
est indépendant de la machine. Heureusement, sinon, je vois mal comment
fonctionneraient les réseaux locaux ou Internet...

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/

Jean-Luc Andréï
Le #610591
Merci,
mais du coups il faut quand meme faire quelque chose pour lui dire de passer
par TCP/IP, ou c'est directement inclue dans ces meme fonctions?

"Emmanuel Delahaye" news:
In 'fr.comp.lang.c', "Jean-Luc Andréï"
j'y connais rien dans la programmation socket, est ce que ces fonctions
pourraient fonctionner entre un programme serveur (sous linux) et un
programme client (sous windows)


Oui. Le protocole (TCP/IP, UDP etc.) n'a rien à voir avec les fonctions.
Il

est indépendant de la machine. Heureusement, sinon, je vois mal comment
fonctionneraient les réseaux locaux ou Internet...

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/



Yves ROMAN
Le #610587
"Emmanuel Delahaye" news:
In 'fr.comp.lang.c', "Jean-Luc Andréï"
j'y connais rien dans la programmation socket, est ce que ces fonctions
pourraient fonctionner entre un programme serveur (sous linux) et un
programme client (sous windows)


Oui. Le protocole (TCP/IP, UDP etc.) n'a rien à voir avec les fonctions.
Il

est indépendant de la machine. Heureusement, sinon, je vois mal comment
fonctionneraient les réseaux locaux ou Internet...



Merci,
mais du coups il faut quand meme faire quelque chose pour lui dire de passer
par TCP/IP, ou c'est directement inclue dans ces meme fonctions?



A la creation de la socket (fonction socket()) on précise le protocole utilisé
et le type de paquets.

Il reste quand même à faire attention au format des données qu'on transmet via
socket, et entre autres au format des entiers (little ou big endian) : on
utilise dans ce cas les fonctions ntoh{sl} et hton{sl} pour convertir du format
local de la machine au format réseau



Publicité
Poster une réponse
Anonyme