Sobes.tech
Junior — Middle

Ağ etkileşimi için soketlerle çalışma deneyiminiz var mı?

sobes.tech yapay zeka

AI'dan gelen yanıt

Evet, ağ etkileşimi için soketlerle çalışma deneyimi genellikle ağ üzerinden veri alışverişi yapan istemci ve sunucu uygulamalarının oluşturulmasını içerir.

Go'da, genellikle net paketi soketlerle çalışmak için kullanılır. Örneğin, basit bir TCP sunucusu ve istemcisi oluşturabilirsiniz.

Go'da TCP sunucu örneği:

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("Bağlantı hatası:", 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("Okuma hatası:", err)
        return
    }
    fmt.Println("Alınan mesaj:", string(buf[:n]))
    conn.Write([]byte("Kabul edildi"))
}

Bu tür deneyim, soket seviyesinde ağ etkileşimini, bağlantı yönetimini ve veri işleme konularında anlayış gösterir.