Junior — Middle
Ar turite patirties dirbant su lizdais tinklo sąveikai?
sobes.tech AI
Atsakymas iš AI
Taip, patirtis dirbant su lizdais (sockets) tinklo sąveikai dažnai apima klientų ir serverių programų kūrimą, kurios keičiasi duomenimis per tinklą.
Go kalboje dažniausiai naudojamas net paketas darbui su lizdais. Pavyzdžiui, galima sukurti paprastą TCP serverį ir klientą.
Pavyzdys TCP serverio Go kalba:
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("Klaida prisijungiant:", 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("Klaida skaitant:", err)
return
}
fmt.Println("Gauta žinutė:", string(buf[:n]))
conn.Write([]byte("Gauta"))
}
Ši patirtis rodo supratimą apie tinklo sąveiką naudojant lizdus, ryšių valdymą ir duomenų apdorojimą.