Sobes.tech
Junior

Mi a különbség a TCP és az UDP protokollok között?

sobes.tech MI

Válasz az MI-től

TCP - kapcsolatorientált, garantálja a csomagok kézbesítését és sorrendjét. UDP - kapcsolat nélküli, nem garantálja a kézbesítést vagy a sorrendet, de gyorsabb.

Fő különbségek:

Jellemző TCP UDP
Orientáció Kapcsolat létrehozásával Kapcsolat nélkül
Megbízhatóság Magas (garantálja a kézbesítést) Alacsony (nem garantálja a kézbesítést)
Sorrend Garantált Nem garantált
Áramlásvezérlés Van Nincs
Hibakezelés Van (átvitel és sorrend) Nincs (alap ellenőrző összeg)
Sebesség Alacsonyabb Magasabb
Használat HTTP, FTP, SSH DNS, DHCP, online játékok, streaming

Példa kód TCP adatküldéshez Go nyelven:

package main

import (
	"net"
	"log"
)

func main() {
	conn, err := net.Dial("tcp", "localhost:8080") // TCP kapcsolat létesítése
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Kapcsolat bezárásának garantálása

	_, err = conn.Write([]byte("Hello, TCP!")) // Adatok küldése
	if err != nil {
		log.Fatal(err)
	}
}

Példa kód UDP adatküldéshez Go nyelven:

package main

import (
	"net"
	"log"
)

func main() {
	addr, err := net.ResolveUDPAddr("udp", "localhost:8081") // UDP cím meghatározása
	if err != nil {
		log.Fatal(err)
	}

	conn, err := net.DialUDP("udp", nil, addr) // "kapcsolat" létrehozása (session nélkül)
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Socket bezárása

	_, err = conn.Write([]byte("Hello, UDP!")) // Adatok küldése
	if err != nil {
		log.Fatal(err)
	}
}