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!"))
}