Sobes.tech
Junior

TCP va UDP protokollari o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

TCP - ulanishga yo'naltirilgan, paketlarni yetkazib berish va tartibini kafolatlaydi. UDP - ulanish o'rnatmasdan, yetkazib berish va tartibni kafolatlamaydi, lekin tezroq.

Asosiy farqlar:

Xususiyat TCP UDP
Yo'nalish Ulanish bilan Ulanishsiz
Ishonchlilik Yuqori (yetkazib berishni kafolatlaydi) Past (yetkazib berishni kafolatlamaydi)
Tartib Kafolatlangan Kafolatlanmagan
Oqimni boshqarish Bor Yo'q
Xato nazorati Bor (uzatish va tartib) Yo'q (asosiy tekshirish yig'indisi)
Tezlik Pastroq Ko'proq
Foydalanish HTTP, FTP, SSH DNS, DHCP, onlayn o'yinlar, streaming

Go tilida TCP orqali ma'lumot yuborish uchun misol kod:

package main

import (
	"net"
	"log"
)

func main() {
	conn, err := net.Dial("tcp", "localhost:8080") // TCP ulanishini o'rnatish
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Ulanishni yopishni kafolatlash

	_, err = conn.Write([]byte("Hello, TCP!")) // Ma'lumot yuborish
	if err != nil {
		log.Fatal(err)
	}
}

Go tilida UDP orqali ma'lumot yuborish uchun misol kod:

package main

import (
	"net"
	"log"
)

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

	conn, err := net.DialUDP("udp", nil, addr) // "ulanish" yaratish (sessiya bo'lmagan)
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Sokinani yopish

	_, err = conn.Write([]byte("Hello, UDP!")) // Ma'lumot yuborish
	if err != nil {
		log.Fatal(err)
	}
}