But : Apprendre comment créer des applications C/S qui communiquent avec les sockets TCP Socket
Introduite dans UNIX BSD 4.1 offre 2 types de services de transport UDP (non fiable) TCP (fiable) C'est une interface (sorte de "porte") au niveau du poste local, créée par l'application, contrôlée par le système par laquelle des processus peuvent à la fois envoyer et recevoir des message vers/depuis d'autres processus TBM
3
Programmation Socket avec TCP
Socket: une porte entre les processus d'applications et le protocole de transport (UDP et TCP) Service TCP: transfert fiable d'octets depuis un processus à un autre
TBM
4
Programmation Socket avec TCP
Le client doit contacter le serveur
Le processus du serveur doit d'abord être démarré Le serveur doit avoir créer une socket (porte) qui accueillie les clients
Le client contact le serveur en
Créant localement une socket TCP
Spécifier l' @IP, le n° de Port du serveur
Quand le client crée une socket le TCP Client établie une connexion avec le TCP du serveur TBM
5
Programmation Socket avec TCP coté Serveur
Quand il est contacté par le client le serveur crée une nouvelle socket pour permettre au processus du serveur de communiquer avec le client
Permet au serveur de communiquer avec +ieurs client Le n°de port source utilisés pour distinguer les clients
TBM
6
Stream ou Flux de donnée
Un stream (flux) est une suite de caractères qui sort/entre depuis/vers un processus Un input stream (flux d'entrée) est attaché à une source d'entrée du processus (clavier ou socket) Un output stream (flux de sortie) est attaché à une source de sortie (moniteur ou socket)
TBM
7
Programmation de Socket avec TCP Exemple
Le client lit une chaîne depuis l'entrée standard (entreeDepuisUtilisateur stream), l'envoi au serveur via une socket (sortieVersServeur stream) Le serveur lit la chaîne depuis la socket Le serveur converti la chaîne en majuscule et l'envoi au client Le client lit (et affiche) la chaîne modifié depuis la socket (entreeDepuisServeur stream) TBM
8
TCP: interaction des sockets client/serveur Créer socket, port=x pour les requêtes entrantes socketEcoute = new ServerSocket() Attendre des requêtes de connexionentrantes socketConnexion = socketEcoute.accept()
TCP setup connexion
Envoyé Socket en utilisant socketClient
Lire la requête à partir de socketConnexion Ecrire réponse à socketConnexion
Fermer socketConnexion
Créer socket, connecté à id_hôte, port = x socketClient = new Socket()