关于SPJS协议查找及Python客户端连接失败的技术问询
关于TinyG SPJS的两个问题
我是首次在StackExchange提问,若内容冗长还请见谅。
对于熟悉TinyG SPJS的用户,您会了解相关背景;其他用户可参考:SPJS(Serial Port Json Server)是一款第三方开发的程序,具备WebSocket接口,主要负责两项核心功能:
- 管理与TinyG CNC控制器之间的串口通信,保障数据完整性并对指令进行缓冲,确保TinyG能持续获得G代码指令以实现流畅的数控运动控制;
- 通过发布-订阅式WebSocket接口支持多台PC端CAM客户端接入。
问题1:SPJS协议文档的获取途径
请问哪里可以找到SPJS协议文档?恳请告知。
问题2:Python自定义客户端连接SPJS超时问题
我尝试用Python编写自定义客户端,但在连接阶段遇到超时问题,具体情况如下:
客户端代码
import asyncio import websockets as ws async def WebsocSPJSConnection(): uri = "ws://localhost:8989" async with ws.connect(uri) as webs: print(webs.recv()) if __name__ == "__main__": asyncio.run(WebsocSPJSConnection())
SPJS服务器报错日志
2022/10/25 12:07:48 cayenn.go:438: TCP Received GET / HTTP/1.1 Host: localhost:8988 Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: Q3SDgBW/JHBXDE6ctEdC/g== Sec-WebSocket-Version: 13 Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits User-Agent: Python/3.9 websockets/10.3 from [::1]:60677 Checking if from me [::1]<>10.71.193.1412022/10/25 12:07:48 cayenn.go:475: Err unmarshalling TCP inbound message from device. err: <nil>
补充说明
- Wireshark抓包显示SPJS服务器收到了无法反序列化的消息,但我仅发送了连接请求,未发送其他内容;
- 使用JavaScript客户端可正常连接SPJS;
- 我在8988端口搭建的Python测试服务器也能正常工作。
内容的提问来源于stack exchange,提问作者Melticus
相关产品推荐
相关产品推荐

