Sobes.tech
Junior

¿Cuál es la diferencia entre los protocolos TCP y UDP?

sobes.tech AI

Respuesta de la IA

TCP: orientado a la conexión, garantiza la entrega y el orden de los paquetes. UDP: sin establecimiento de conexión, no garantiza la entrega ni el orden, pero es más rápido.

Diferencias principales:

Característica TCP UDP
Orientación Con establecimiento de conexión Sin establecimiento de conexión
Fiabilidad Alta (garantiza la entrega) Baja (no garantiza la entrega)
Orden Garantizado No garantizado
Control de flujo No
Control de errores Sí (transmisión y orden) No (suma de comprobación básica)
Velocidad Menor Mayor
Uso HTTP, FTP, SSH DNS, DHCP, juegos en línea, streaming

Ejemplo de código para enviar datos por TCP en Go:

package main

import (
	"net"
	"log"
)

func main() {
	conn, err := net.Dial("tcp", "localhost:8080") // Establecer conexión TCP
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Garantizar cierre de conexión

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

Ejemplo de código para enviar datos por UDP en Go:

package main

import (
	"net"
	"log"
)

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

	conn, err := net.DialUDP("udp", nil, addr) // Crear "conexión" UDP (sin sesión)
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close() // Cerrar socket

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