Sobes.tech
Junior

Mis vahe on TCP ja UDP protokollidel?

sobes.tech AI

Vastus AI-lt

TCP - ühenduse suunatud, tagab pakettide kohaletoimetamise ja järjekorra. UDP - ilma ühenduse loomata, ei taga kohaletoimetamist ja järjekorda, kuid on kiirem:

Peamised erinevused:

Tunnus TCP UDP
Orientatsioon Ühenduse loomisega Ilma ühenduse loomata
Usaldusväärsus Kõrge (tagab kohaletoimetamise) Madal (ei taga kohaletoimetamist)
Järjekord Tagatud Ei taga
Voogude juhtimine On Ei ole
Vead kontrollis On (ülekanne ja järjekorra kontroll) Ei ole (põhikontrollsumma)
Kiirus Madalam Kõrgem
Kasutus HTTP, FTP, SSH DNS, DHCP, online-mängud, voogedastus

Näidiskood TCP andmete saatmiseks Go keeles:

package main

import (
	"net"
	"log"
)

func main() {
	conn, err := net.Dial("tcp", "localhost:8080") // TCP ühenduse loomine
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Ühenduse sulgemine

	_, err = conn.Write([]byte("Hello, TCP!")) // Andmete saatmine
	if err != nil {
		log.Fatal(err)
	}
}

UDP andmete saatmiseks Go keeles:

package main

import (
	"net"
	"log"
)

func main() {
	addr, err := net.ResolveUDPAddr("udp", "localhost:8081") // UDP aadressi määramine
	if err != nil {
		log.Fatal(err)
	}

	conn, err := net.DialUDP("udp", nil, addr) // UDP "ühendus" (ilma sessiooni loomata)
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Sokeidi sulgemine

	_, err = conn.Write([]byte("Hello, UDP!")) // Andmete saatmine
	if err != nil {
		log.Fatal(err)
	}
}