Junior
TCP və UDP protokolları arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
TCP - əlaqəyə yönəlikdir, paketlərin çatdırılmasını və ardıcıllığını təmin edir. UDP - əlaqə qurulmadan, çatdırılma və ardıcıllığı təmin etmir, amma daha sürətlidir.
Əsas fərqlər:
| Xüsusiyyət | TCP | UDP |
|---|---|---|
| Yönəltmə | Əlaqə quraraq | Əlaqəsiz |
| Etibarlılıq | Yüksək (çatdırılmanı təmin edir) | Aşağı (çatdırılmanı təmin etmir) |
| Ardıcıllıq | Garantiyalı | Garantiyalanmayıb |
| Axın idarəsi | Var | Yox |
| Xəta nəzarəti | Var (transmissiya və ardıcıllıq) | Yox (əsas yoxlama cəmisi) |
| Sürət | Aşağı | Yüksək |
| İstifadə | HTTP, FTP, SSH | DNS, DHCP, onlayn oyunlar, streaming |
Go dilində TCP ilə məlumat göndərmək üçün nümunə kod:
package main
import (
"net"
"log"
)
func main() {
conn, err := net.Dial("tcp", "localhost:8080") // TCP əlaqəsi qur
if err != nil {
log.Fatal(err)
}
defer conn.Close() // Əlaqəni bağlamağı təmin et
_, err = conn.Write([]byte("Hello, TCP!")) // Məlumat göndər
if err != nil {
log.Fatal(err)
}
}
Go dilində UDP ilə məlumat göndərmək üçün nümunə kod:
package main
import (
"net"
"log"
)
func main() {
addr, err := net.ResolveUDPAddr("udp", "localhost:8081") // UDP ünvanını müəyyən et
if err != nil {
log.Fatal(err)
}
conn, err := net.DialUDP("udp", nil, addr) // "əlaqə" yaradın (sessiya olmadan)
if err != nil {
log.Fatal(err)
}
defer conn.Close() // Sokinı bağla
_, err = conn.Write([]byte("Hello, UDP!")) // Məlumat göndər
if err != nil {
log.Fatal(err)
}
}