Sobes.tech
Junior — Middle

Dasturlashda qaysi hollarda va qaysi maqsadlarda soketlar qo'llaniladi?

sobes.tech AI

AIdan javob

Dasturlashda soketlar jarayonlar o'rtasida tarmoq bilan o'zaro aloqani tashkil qilish uchun ishlatiladi, ular bir kompyuterda yoki turli kompyuterlarda bo'lishi mumkin. Go tilida soketlar TCP yoki UDP protokollari orqali ma'lumot almashish va mijoz-server ilovalarini yaratish uchun ishlatiladi.

Asosiy foydalanish holatlari:

  • Tarmoq serverlari va mijozlarini amalga oshirish (masalan, veb-server, chat, o'yinlar).
  • Tarqatilgan tizimlar o'rtasida ma'lumot almashish.
  • TCP/UDP ustida o'z protokollarini yaratish.

Go tilida TCP serveri yaratish 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 qilindi:", string(buf[:n]))
    conn.Write([]byte("Serverdan salom!"))
}