You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下Python Telnet重复发送命令失败问题求助

问题详情
  • 环境:Windows 10 系统、Python 3.10.11
  • 现象:通过Telnet连接设备重复执行同一命令两次,仅第一次能正常执行并得到预期响应;第二次命令仅部分传输至设备,响应字符随机缺失,甚至会出现程序无限阻塞。
  • 已尝试操作:
    • 调整sleep时长、更换读取方式,均未解决问题
    • 更换另一同型号网络适配器(Realtek USB GbE Family Controller #4)后可正常运行
    • 同事使用Windows 11连接同一设备无此问题

原始代码

import time
import telnetlib

def read(session, timeout=1):
    received = b""
    t0 = time.time()
    while time.time() - t0 < timeout:
        data = session.read_very_eager()
        if data:
            received += data
            t0 = time.time()
    return received.decode()

def write_and_read(session, command):
    time.sleep(1)
    session.write(command.encode() + b"\r\n")
    time.sleep(1)
    reply = read(session)
    print(reply)


session = telnetlib.Telnet("192.168.200.10", 9000, 20)
command = "$SENSOR,STATUS,192.168.200.53"

write_and_read(session, command)
write_and_read(session, command)

原始执行输出

Requesting radar report from 192.168.200.53...
Failed to query sensor. Is the IP correct? Is the sensor powered?

$SENSOR,STATUS,192.168

修改后的代码及输出、调试输出

[此处保留用户提供的其余代码及输出内容]

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 22:15:59