Aperçu

I. Qu’est‑ce que la programmation Socket

  1. Sens littéral du terme Socket
    Au départ, « socket » désigne une prise électrique. Une prise établit une liaison entre deux extrémités ; c’est pourquoi, en programmation réseau, il correspond à un point d’extrémité pour les communications réseau.
  2. Définition de la programmation Socket
    Mise en place d’échanges de données entre plusieurs hôtes à l’aide des protocoles réseau TCP / UDP.
  3. Explication simple
    Écrire un programme pour que deux ordinateurs ou plus puissent s’envoyer des données. Un exemple concret : un outil de discussion sur réseau local.

Analogie : prise électrique = interface réseau ; fiche = autre hôte ; brancher la fiche = établir une connexion réseau.

Pour mieux comprendre, nous allons apprendre en mettant en œuvre un exemple pratique.

II. Schéma de conception d’un outil de discussion simplifié

Modèle d’architecture : Client‑Serveur (C/S)
  • Serveur (Server)
  1. Se lier à un port local donné et écouter constamment les demandes de connexion réseau
  2. Attendre les tentatives de connexion en provenance d’autres ordinateurs
  3. Établir un canal de communication dès qu’un client se connecte
  • Client
    Lancer une demande de connexion en indiquant l’adresse IP et le port du serveur
  • Objectif de la communication : permettre l’échange de messages texte en temps réel entre deux ordinateurs pour une discussion instantanée

Déroulement du fonctionnement

  1. Lancement du serveur → démarrage de l’écoute sur le port
  2. Lancement du client → connexion vers l’adresse IP et le port du serveur
  3. Une fois la connexion établie, les deux parties s’échangent des messages

Voici un exemple minimal

Serveur

// 1. Créer TcpListener pour écouter sur IP et port
TcpListener listener = new TcpListener(IPAddress.Any, 8899);
listener.Start();
// 2. Attendre la connexion du client
TcpClient client = await listener.AcceptTcpClientAsync();
// 3. Récupérer le flux réseau pour lire‑écrire les messages
NetworkStream stream = client.GetStream();
Langage du code : JavaScript (javascript)

Client

// Se connecter à l’IP et au port du serveur
TcpClient client = new TcpClient();
await client.ConnectAsync("192.168.1.100",8899);
NetworkStream stream = client.GetStream();Langage du code : JavaScript (javascript)

Aperçu

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *