Junior — Middle
Tarmoq bilan aloqa qilish uchun soketlar bilan ishlash tajribangiz bormi?
sobes.tech AI
AIdan javob
Ha, tarmoq bilan ishlash uchun soketlar bilan ishlash tajribasi odatda tarmoq orqali ma'lumot almashadigan mijoz va server ilovalarini yaratishni o'z ichiga oladi.
Go'da, odatda, net paketi soketlar bilan ishlash uchun ishlatiladi. Masalan, oddiy TCP server va mijoz yaratish mumkin.
Go'da TCP server misoli:
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("Ulanish xatosi:", 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("O'qish xatosi:", err)
return
}
fmt.Println("Qabul qilingan xabar:", string(buf[:n]))
conn.Write([]byte("Qabul qilindi"))
}
Bu tajriba soketlar darajasida tarmoq bilan ishlashni, ulanishlarni boshqarishni va ma'lumotlarni qayta ishlashni tushunishni ko'rsatadi.