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
相关产品推荐
相关产品推荐

