Plan du travail • Définition du socket • Les modes de connexions • Type de socket • Mode de fonctionnement de sockets • Exemple d’architecture de socket • Le package java.net Définition du socket • une socket est un moyen de partager des données en réseau et elle se manipule comme un fichier. • Socket (mot anglais qui signifie prise) est un terme informatique qui peut avoir plusieurs significations suivant qu’il est utilisé dans le cadre logiciel ou matériel. • En programmation, un socket est le point final d'une communication entre deux programmes s'exécutant sur un réseau. • En réseau, le terme socket a une signification différente. Il est utilisé pour la combinaison d'une adresse IP et d'un numéro de port. • La programmation Java Socket peut être orientée connexion ou sans connexion. Définition de socket Les modes de connexions • Le mode connecté • Le protocole TCP • La connexion durable établie en deux processus • Ce mode ne nécessite pas de l’adresse de destinations à chaque envoi de données.
• Le mode non connecté
• Le protocole UDP • Ce mode nécessite l’adresse de destination à chaque envoi. • Aucun accusé de réception n’est donné Type de socket • Sockets UDP • La partie serveur crée une socket et la lie à un port UDP particulier. • La partie client crée une socket pour accéder à la couche UDP et la lie sur un port quelconque. • Le serveur se met en attente de réception de paquet sur sa socket • Le client envoie un paquet via sa socket en précisant l'adresse du destinataire • Couple @IP/port • Destinataire = partie serveur • @IP de la machine sur laquelle tourne la partie serveur et numéro de port sur lequel est liée la socket de la partie serveur • Il est reçu par le serveur Type de socket • Sockets UDP • Si le client envoie un paquet avant que le serveur ne soit prêt à recevoir : le paquet est perdu • Emission non bloquant • Réception bloquante Type de socket • Socket TCP • Le serveur lie une socket d'écoute sur un certain port bien précis et appelle un service d'attente de connexion de la part d'un client. • Le client appelle un service pour ouvrir une connexion avec le serveur • Il récupère une socket (associée à un port quelconque par le système) • Du coté du serveur, le service d'attente de connexion retourne une socket de service (associée à un port quelconque) • C'est la socket qui permet de dialoguer avec ce client. • Comme avec sockets UDP : le client et le serveur communiquent en envoyant et recevant des données via leur socket. Mode de fonctionnement de sockets • Le socket cote client • Adresse IP du serveur • Numéro de port • Les méthodes utilisent du cote client Mode de fonctionnement de sockets • Le socket cote serveur • La classe ServerSocket peut être utilisée pour créer un socket serveur. • Cet objet est utilisé pour établir la communication avec les clients • Les méthodes de classe serveurs Exemple d’architecture de socket Architecture de socket broadcast Exemple d’un code socket client Exemple d’un code socket serveur Conclusion