超级无敌会学习 2025-04-30 21:09 采纳率: 0%
浏览 14

Adams View 2018命令服务器(Command Server)不响应Python socket命令

目前在进行Adams View 2018的二次开发工作,遇到了一个与命令服务器(Command Server)通信的问题。

根据官方文档,通过开启Adams View中的Command Server(根据官方文档,地址为"localhost", 端口5002),可以使用Python通过socket发送格式化的命令字符串进行控制。

此前在本机使用Adams 2019或2020版本时,该通信流程工作正常:Python脚本发送命令后,Adams View 会返回“0”或“1”作为响应;
在Adams View中打开Command Server窗口后,点击“Start Server”可以成功启动命令服务,点击“Stop Server”也能正常停止。

但在更换为Adams 2018版本后,出现了如下问题:

Python可以成功连接并向5002端口发送命令,网络抓包显示Adams View收到了命令。
但Adams View并未返回任何响应,Python端读取到的返回值为空。
2019或2020版本的正常情况下,Raw response:应该返回b'0'或者b'1',目前返回值为空。

Adams View 2018命令服务器(Command Server)不响应Python socket命令

img

2018版本运行结果(×)

img

2019版本正常运行结果(√)

在Adams View中,点击“Start Server”可以启动命令服务,但点击“Stop Server”按钮没有任何反应。
目前无法判断是Adams 2018版本的问题、配置问题,还是与系统环境有关。

希望有经验的朋友能帮我分析可能的原因,或提供一些排查建议,非常感谢!

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-04-30 21:10
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    Adams View 2018命令服务器(Command Server)不响应Python socket命令

    你遇到的问题是Adams View 2018的Command Server不响应Python socket命令。根据官方文档,Command Server可以通过开启Adams View中的Command Server来实现与Python socket命令的通信。

    可能的解决方案:

    1. 检查Command Server是否已经开启。如果没有开启,可以在Adams View中找到相应的设置选项开启。
    2. 检查Python socket命令是否正确。如果命令语法错误,Command Server可能无法响应。
    3. 检查网络连接是否正常。如果网络连接不稳定,Command Server可能无法响应。

    核心代码:

    import socket
    
    # 创建 socket 对象
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
    # 连接到 Command Server
    sock.connect(("localhost", 12345))  # 请根据实际情况修改端口号
    
    # 发送命令
    sock.send(b"your_command_here")  # 请根据实际情况修改命令
    
    # 接收响应
    response = sock.recv(1024)
    print(response.decode())
    

    请注意,需要根据实际情况修改端口号和命令语法。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月30日