But : Apprendre comment crer 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, cre par l'application, contrle par le systme 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
Programmation Socket avec TCP
Le client doit contacter le serveur Le processus du serveur doit d'abord tre dmarr Le serveur doit avoir crer une socket (porte) qui accueillie les clients
Le client contact le serveur en
Crant localement une socket TCP Spcifier l' @IP, le n de Port du serveur Quand le client cre 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 cre une nouvelle socket pour permettre au processus du serveur de communiquer avec le client Permet au serveur de communiquer avec +ieurs client Le nde port source utiliss pour distinguer les clients
TBM
Stream ou Flux de donne
Un stream (flux) est une suite de caractres qui sort/entre depuis/vers un processus Un input stream (flux d'entre) est attach une source d'entre du processus (clavier ou socket) Un output stream (flux de sortie) est attach une source de sortie (moniteur ou socket)
TBM
Programmation de Socket avec TCP Exemple
Le client lit une chane depuis l'entre standard (entreeDepuisUtilisateur stream), l'envoi au serveur via une socket (sortieVersServeur stream) Le serveur lit la chane depuis la socket Le serveur converti la chane en majuscule et l'envoi au client Le client lit (et affiche) la chane modifi depuis la socket (entreeDepuisServeur stream) TBM 8
TCP: interaction des sockets client/serveur
Crer socket, port=x pour les requtes entrantes socketEcoute = new ServerSocket() Attendre des requtes de connexionentrantes socketConnexion = socketEcoute.accept()
TCP setup connexion
Crer socket, connect id_hte, port = x socketClient = new Socket() Envoy Socket en utilisant socketClient
Lire la requte partir de socketConnexion Ecrire rponse socketConnexion