python - pythons“socket”库中的“recvfrom”在 UDP 实现中找不到通过以太网电缆成功发送的消息
问题描述
我正在尝试实现 UDP,其中我的计算机上的 python 脚本正在运行服务器,而通过以太网电缆连接的微控制器正在运行客户端。在python脚本中,我绑定到以太网端口的ip和端口nr,在wireshark中我可以看到来自客户端的消息的目标ip和端口nr与python脚本中绑定的相同。但是当我运行脚本时,它会卡在 recvfrom 中并且什么也没找到,尽管连续的消息被发送到套接字绑定的端口。非常感谢任何帮助或想法!
有问题的python脚本:
import socket
localIP = "192.168.1.123"
localPort = 12345
bufferSize = 1024
msgFromServer = "Hello UDP Client"
bytesToSend = str.encode(msgFromServer)
# Create a datagram socket
UDPServerSocket = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)
# Bind to address and ip
UDPServerSocket.bind((localIP, localPort))
print("UDP server up and listening")
# Listen for incoming datagrams
while(True):
bytesAddressPair = UDPServerSocket.recvfrom(bufferSize)
message = bytesAddressPair[0]
address = bytesAddressPair[1]
# Sending a reply to client
UDPServerSocket.sendto(bytesToSend, address)
解决方案
找到了!我的防火墙阻止了 python 脚本看到 udp 包,所以我会尝试为特定端口关闭防火墙。谢谢@Zac67
推荐阅读
- pytorch - 几乎不存在训练精度和低测试精度
- angular - Angular 用户登录和会话丢失 - 如何检查和重定向?
- docusignapi - 在 Docusign API 中强制使 AWT 令牌过期
- azure - 具有 DeployIfNotExists 策略的私有 dns 区域组上的 Azure Terraform ignore_changes
- javascript - 对象在 React 中作为 React 子项无效
- apache-camel - Apache Camel ElasticSearch Rest 返回所有记录
- python - 神经网络的因子敏感性分析
- javascript - JavaScript 在关闭选项卡之前执行操作
- linux - 在 Linux 上将 Crashpad 与 Qt 集成
- java - LDAP 连接/Apache DS/Java