Python UDP 网络未接收数据

0 投票
1 回答
3015 浏览
提问于 2025-04-18 10:25

计算机 A "发送方":

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))

计算机 B "接收方":

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 之间发送数据?

1 个回答

1

试着从你的电脑上用telnet命令连接服务器的4000端口,看看这个端口是否可以访问。如果不能连接,很可能是防火墙的问题,就像Steffen提到的那样。

撰写回答