Sobes.tech
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ą.