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.