Sobes.tech
Junior

Kāda ir atšķirība starp TCP un UDP protokoliem?

sobes.tech AI

Atbilde no AI

TCP - orientēts uz savienojumu, garantē sūtījumu un kārtību. UDP - bez savienojuma izveides, nesolīja sūtījumu un kārtību, bet ir ātrāks:

Galvenās atšķirības:

Zīme TCP UDP
Orientācija Ar savienojuma izveidi Bez savienojuma izveides
Uzticamība Augsta (garantē sūtījumu) Zema (nesolīja sūtījumu)
Kārtība Garantēta Nav garantēta
Plūsmas pārvaldība Ir Nav
Kļūdu kontrole Ir (pārsūtīšana un kārtības kontrole) Nav (pamatkontroles summa)
Ātrums Zemāks Augstāks
Lietošana HTTP, FTP, SSH DNS, DHCP, tiešsaistes spēles, straumēšana

Piemēra kods TCP datu sūtīšanai Go:

package main

import (
	"net"
	"log"
)

func main() {
	conn, err := net.Dial("tcp", "localhost:8080") // TCP savienojuma izveide
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Savienojuma aizvēršana

	_, err = conn.Write([]byte("Hello, TCP!")) // Datu sūtīšana
	if err != nil {
		log.Fatal(err)
	}
}

UDP datu sūtīšanai Go:

package main

import (
	"net"
	"log"
)

func main() {
	addr, err := net.ResolveUDPAddr("udp", "localhost:8081") // UDP adreses noteikšana
	if err != nil {
		log.Fatal(err)
	}

	conn, err := net.DialUDP("udp", nil, addr) // UDP "savienojums" (bez sesijas izveides)
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Soketa aizvēršana

	_, err = conn.Write([]byte("Hello, UDP!")) // Datu sūtīšana
	if err != nil {
		log.Fatal(err)
	}
}