Python UDP网络未接收数据

Python UDP网络未接收数据,python,networking,network-programming,udp,Python,Networking,Network Programming,Udp,计算机是“发送者”: import socket UDP_IP = "computer b ip address" UDP_PORT 5005 MESSAGE = "HELLO!" sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while True: sock.sendto((bytes(MESSAGE, 'UTF-8')), (UDP_IP, UDP_PORT)) import socket UDP_IP = "c

计算机是“发送者”:

import socket
UDP_IP = "computer b ip address"
UDP_PORT 5005
MESSAGE = "HELLO!"

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

while True:
    sock.sendto((bytes(MESSAGE, 'UTF-8')), (UDP_IP, UDP_PORT))
import socket
UDP_IP = "computer b ip address"
UDP_PORT = 5005

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT)) 

while True:
    data = sock.recv(1024)
    print("received: ", data)
计算机B“接收器”:

import socket
UDP_IP = "computer b ip address"
UDP_PORT 5005
MESSAGE = "HELLO!"

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

while True:
    sock.sendto((bytes(MESSAGE, 'UTF-8')), (UDP_IP, UDP_PORT))
import socket
UDP_IP = "computer b ip address"
UDP_PORT = 5005

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT)) 

while True:
    data = sock.recv(1024)
    print("received: ", data)
观察结果

  • 我成功地发送了一次数据,但结果失败了,尽管使用了精确的设置,但仅相隔片刻
  • 当我循环从计算机A向计算机B发送数据时,只有当计算机A向计算机B的IP地址发送数据时,才会中断计算机B上的usb耳机

在我尝试使用UDP在计算机A和计算机B之间发送数据时,是否有人能为我提供指导?

尝试从您的计算机上检查telnet serverip 4000,以检查是否可以访问4000端口。
如果不是,则很可能是Steffen指出的防火墙问题。

您的接收器未绑定到端口5005,因此不会在此端口上接收数据。这如何解释一次接收的能力?我能做些什么来改变它?我不知道你做了什么,所以它收到了一次。我确信它不会收到此代码。要修复代码,请将套接字绑定到它应该接收数据的地址,请参见您的判断!当我输入问题时,我不小心漏掉了那一行。那么,为什么即使添加了这一行,问题仍然存在?代码对我来说是有效的,所以可能在这两台机器之间有防火墙或类似的防火墙?在一台机器上尝试该代码。