Sobes.tech
Junior

Koja je razlika između TCP i UDP protokola?

sobes.tech АИ

Одговор од АИ

TCP - оријентисан на везу, гарантује испоруку и редослед пакета. UDP - без успостављања везе, не гарантује испоруку и редослед, али је бржи.

Главне разлике:

Карактеристика TCP UDP
Оријентација Са успостављањем везе Без успостављања везе
Поузданост Висока (гарантује испоруку) Ниска (не гарантује испоруку)
Редослед Гарантован Не гарантује
Контрола тока Постоји Нема
Контрола грешака Постоји (пренос и редослед) Нема (основна контролна сума)
Брзина Нижа Виша
Коришћење HTTP, FTP, SSH DNS, DHCP, онлајн игре, стриминг

Пример кода за слање података преко TCP у Go:

package main

import (
	"net"
	"log"
)

func main() {
	кон, грешка := net.Dial("tcp", "localhost:8080") // Успостављање TCP везе
	ако грешка != nil {
		лог.Fatal(грешка)
	}
	дефер кон.Close() // Гарантовање затварања везе

	_, грешка = кон.Write([]byte("Hello, TCP!")) // Слање података
	ако грешка != nil {
		лог.Fatal(грешка)
	}
}

Пример кода за слање података преко UDP у Go:

package main

import (
	"net"
	"log"
)

func main() {
	адреса, грешка := net.ResolveUDPAddr("udp", "localhost:8081") // Одређивање UDP адресе
	ако грешка != nil {
		лог.Fatal(грешка)
	}

	кон, грешка := net.DialUDP("udp", nil, адреса) // Креирање "везе" UDP (без сесије)
	ако грешка != nil {
		лог.Fatal(грешка)
	}
	дефер кон.Close() // Затварање сокета

	_, грешка = кон.Write([]byte("Hello, UDP!")) // Слање података
	ако грешка != nil {
		лог.Fatal(грешка)
	}
}