Junior — Middle
În ce cazuri și în ce scopuri se utilizează socket-urile în programare?
sobes.tech AI
Răspuns de la AI
Soketele în programare sunt utilizate pentru organizarea interacțiunii în rețea între procese, care pot fi situate fie pe același calculator, fie pe calculatoare diferite. În Go, socket-urile sunt folosite pentru crearea de aplicații client-server, schimbul de date prin protocoalele TCP sau UDP.
Cazurile principale de utilizare:
- Implementarea serverelor și clienților de rețea (de exemplu, server web, chat, jocuri).
- Schimbul de date între sisteme distribuite.
- Crearea propriilor protocoale peste TCP/UDP.
Exemplu de creare a unui server TCP în 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("Eroare de conexiune:", 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("Eroare de citire:", err)
return
}
fmt.Println("Primite:", string(buf[:n]))
conn.Write([]byte("Salut de la server!"))
}