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