Sobes.tech
Junior — Middle

Dans quels cas et à quelles fins utilise-t-on les sockets en programmation?

sobes.tech IA

Réponse de l'IA

Les sockets en programmation sont utilisés pour organiser l'interaction réseau entre processus, qui peuvent être sur le même ordinateur ou sur différents. En Go, les sockets sont utilisés pour créer des applications client-serveur, échanger des données via les protocoles TCP ou UDP.

Principaux cas d'utilisation :

  • Mise en œuvre de serveurs et clients réseau (par exemple, serveur web, chat, jeux).
  • Échange de données entre systèmes distribués.
  • Création de protocoles propres sur TCP/UDP.

Exemple de création d'un serveur TCP en Go :

package main

import (
    "fmt"
    "net"
)

func main() {
    ln, err := net.Listen("tcp", ":8080")
    if err != nil {
        panic(err)
    }
    defer ln.Close()

    for {
        conn, err := ln.Accept()
        if err != nil {
            fmt.Println("Erreur de connexion:", err)
            continue
        }
        go handleConnection(conn)
    }
}

func handleConnection(conn net.Conn) {
    defer conn.Close()
    buf := make([]byte, 1024)
    n, err := conn.Read(buf)
    if err != nil {
        fmt.Println("Erreur de lecture:", err)
        return
    }
    fmt.Println("Reçu:", string(buf[:n]))
    conn.Write([]byte("Bonjour du serveur!"))
}