es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Destino de socket UDP inalcanzable en Python

Estoy programando un programa que debe ser controlado por UDP shell. Tengo la parte de recepción correctamente, todo parece funcionar, pero la parte de envío no parece funcionar.
He verificado con Wireshark y obtuve el siguiente resultado: 1

Código:

def send(command):
    global ipv4
    global port
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.connect((ipv4, int(port)))
    sock.send(bytes(command, 'utf-8'))

¿Es esto causado por el código o por mi router?
Router: D-LINK
Modelo: DIR-X1560

Nota: Tanto el equipo de envío como el de recepción tienen Linux instalado.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basado en la captura de pantalla de Wireshark, parece que los paquetes UDP se están enviando pero no están siendo recibidos en el otro extremo. Esto podría ser causado por algunas razones:

    1. Configuración del cortafuegos: Asegúrese de que su cortafuegos no esté bloqueando el tráfico UDP saliente.
    2. Reenvío de puertos: Verifique que el enrutador esté reenviando los paquetes UDP entrantes a la dirección IP y al puerto correctos de la computadora receptora.

    3. Configuración de la red: Asegúrese de que la dirección IP y el puerto utilizados en el código de envío coincidan con la dirección IP y el puerto de la computadora receptora.

    También vale la pena mencionar que UDP es un protocolo no confiable, lo que significa que los paquetes pueden perderse o llegar fuera de orden. Podría ser útil agregar verificación de errores y lógica de retransmisión de paquetes a su código para asegurar la confiabilidad.

Comments are closed.