Sobes.tech
Junior — Middle

In welchen Fällen und zu welchen Zwecken werden Sockets in der Programmierung verwendet?

sobes.tech KI

Antwort von AI

Sockets in der Programmierung werden verwendet, um die Netzwerkinteraktion zwischen Prozessen zu organisieren, die sich auf demselben Computer oder auf verschiedenen befinden können. In Go werden Sockets verwendet, um Client-Server-Anwendungen zu erstellen, Daten über die Protokolle TCP oder UDP auszutauschen.

Hauptanwendungsfälle:

  • Implementierung von Netzwerkservern und -clients (z.B. Webserver, Chat, Spiele).
  • Datenaustausch zwischen verteilten Systemen.
  • Erstellung eigener Protokolle über TCP/UDP.

Beispiel für die Erstellung eines TCP-Servers in 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("Verbindungsfehler:", 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("Lese Fehler:", err)
        return
    }
    fmt.Println("Empfangen:", string(buf[:n]))
    conn.Write([]byte("Hallo vom Server!"))
}