Sobes.tech
Senior

Az OSI modell melyik szintjein dolgozott?

sobes.tech MI

Válasz az MI-től

A Golang-mal végzett munkám során leggyakrabban az OSI modell rétegeivel dolgoztam, kezdve a szállítási réteggel és felette:

  • Szállítási réteg (4): TCP és UDP kapcsolatokkal való munka, hálózati protokollok megvalósítása, időtúllépések beállítása, adatfolyamok kezelése.
  • Hálózati réteg (3): néha IP-címzés, útválasztás, például hálózati segédprogramok vagy szolgáltatások írása során.
  • Alkalmazási réteg (7): HTTP/HTTPS kliens és szerverek megvalósítása, REST API, WebSocket, gRPC használata.

Példa Go nyelven TCP szerverhez:

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("Hiba a kapcsolat elfogadásában:", 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("Olvasási hiba:", err)
        return
    }
    fmt.Println("Kaptuk:", string(buf[:n]))
    conn.Write([]byte("Üdv a szerverről!"))
}

Így a szállítási és alkalmazási rétegekkel dolgoztam, és általános áttekintéssel rendelkezem a hálózati rétegről.