Les étapes pour la comminication socket (Les protocoles TCP et UDP)
Vous trouverer le premier exemple simple en TCP Exemple echo client server TCP et en UDP Exemple echo client server UDP
mode connecté TCP
Le client
- Création socket primitive socket()
- Connection au serveur
- Recupérer et initialiser l’adresse du serveur (gethostbyname ou getaddrinfo) J’utiliserais getaddrinfo()
- connection primitive connect()
- (répétition) Envoi et reception de données (read et write) entre le client et le serveur (une socket est une file descriptor)
- fermer la socket avec la primitive close
Le serveur
- Création socket primitive socket()
- Créer la socket d’écoute
- initialiser une adresse ip:port (interface) dans la structure sockaddr_in pour la socket d’écoute en initialisant une structure adresse socket peut être fait directement ou en utilisant l’une des primitives (gethostbyname ou getaddrinfo) voir Exemples
- associer l’adresse a la socket avec la primitive bind()
- Se mettre en attente des connections primitive listen()
- accepter la connection avec la primitive accept()
- (répétition) Envoi et reception de données (read et write) entre le client et le serveur (une socket est une file descriptor)
- fermer la socket avec la primitive close
Le mode non connecté UDP
Le client
- Création socket primitive socket()
- Recupérer et initialiser l’adresse du serveur (gethostbyname ou getaddrinfo) J’utiliserais getaddrinfo()
- (répétition) Envoi et reception de données sendto() et recvfrom()
- fermer la socket
Le serveur
- Création socket primitive socket()
- Créer l’interface (le service): un ip port pour les clients
- initialiser une adresse ip:port (interface) dans la structure sockaddr_in pour la socket d’écoute en initialisant une structure adresse socket peut être fait directement ou en utilisant l’une des primitives (gethostbyname ou getaddrinfo) voir Exemples
- associer l’adresse a la socket avec la primitive bind()
- (répétition) Envoi et reception de données sendto() et recvfrom()
- fermer la socketLinux programmation système (Index)