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