繁体   English   中英

Python 3.7 & 3.4 GPS3 模块上的 WinError10057

[英]WinError10057 on Python 3.7 & 3.4 GPS3 Module

我正在研究 GPS3 Python 3.7 库,运行以下基本代码:Estou estudando a biblioteca GPS3 do python 3.7,rodando esse código simples:


skt, dts = gps3.GPSDSocket(), gps3.DataStream()

skt.connect()
skt.watch()
for dt in skt:
    if dt:
        dts.unpack(dt)
        print(skt.TPV['alt'],skt.TPV['lat'])

我得到了以下 output:
Eu tive a seguinte saída:

GPS3 gpsd connection at '192.168.0.13' on port '2947' failed

GPS3 send command fail with [WinError 10057] Uma solicitação de envio ou recebimento de dados não foi permitida porque o soquete não está conectado e (durante o envio em um soquete de datagrama usando-se uma chamada sendto) não foi fornecido um endereço

我已经尝试在 python 3.4 上运行此代码,并且得到完全相同的 output
Eu já tentei rodar esse código no python 3.4 e tive mesma mensagem。

有人知道这有什么解决方案吗? 或者知道一些更好的 python 兼容框架来制作这个 function?
Alguém sabe a solução para isso? Ou conhece algum framework melhor para essa função que seja compatível com python?

“skt.connect()”行尝试连接到 GPSd,但根据您收到的诊断“在端口 '2947' 上的 '192.168.0.13' 处的 GPS3 gpsd 连接失败”判断,该尝试失败。 这可能是因为 GPSd 服务器未在该 IP 地址和端口上进行侦听,或者存在防火墙,或其他一些原因。

出于某种原因,无法连接到 GPSd 不会引发异常,即使我认为它应该(所以这可以说是 Python GPS 库中的一个错误)。 所以你的代码继续运行。

"skt.watch()" 行尝试等待新数据到达 GPSd 的套接字,但由于前面的错误,该套接字从未打开,因此无法等待。 因此此调用失败,Windows 错误代码为 10057。

总之,解决方案是确保您的代码可以访问 GPSd 服务器,并确保 Python GPS 库和您的代码都包含足够的错误检测并在致命错误条件下抛出异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM