Sobes.tech
Junior — Middle

Программалоодо сокеттер кайсы учурларда жана кандай максаттарда колдонулат?

sobes.tech AI

AIден жооп

Программалоодо сокеттерлер процесстер ортасындағы тармак өз аралашуын уюштурууга колдонулат, алар бир компьютерде же ар башка компьютерлерде болушу мүмкүн. Go тилинде сокеттер TCP же UDP протоколдору аркылуу маалымат алмашуу жана клиент-сервер тиркемелерин түзүү үчүн колдонулат.

Негизги колдонуу учурлары:

  • Тармактык серверлер жана кардарларды ишке ашыруу (мисалы, веб-сервер, чат, оюндар).
  • Таркатылган системдер арасында маалымат алмашуу.
  • Өзүнүн протоколдорун TCP/UDP үстүндө түзүү.

Go тилинде TCP серверин түзүү мисалы:

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("Кошулуу ката:", 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("Окуу ката:", err)
        return
    }
    fmt.Println("Алынышы:", string(buf[:n]))
    conn.Write([]byte("Серверден салам!"))
}