Junior — Middle
In welke gevallen en voor welke doeleinden worden sockets gebruikt in programmeren?
sobes.tech AI
Antwoord van AI
Sockets in programmeren worden gebruikt om netwerkinteractie tussen processen te organiseren, die zich op dezelfde computer of op verschillende computers kunnen bevinden. In Go worden sockets gebruikt om client-serverapplicaties te maken, gegevens uit te wisselen via TCP- of UDP-protocollen.
Belangrijkste gebruiksgevallen:
- Implementatie van netwerkservers en -clients (bijvoorbeeld webserver, chat, games).
- Gegevensuitwisseling tussen gedistribueerde systemen.
- Het maken van eigen protocollen bovenop TCP/UDP.
Voorbeeld van het maken van een TCP-server 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("Fout bij verbinding:", 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("Fout bij lezen:", err)
return
}
fmt.Println("Ontvangen:", string(buf[:n]))
conn.Write([]byte("Hallo van de server!"))
}