我正在尝试与使用相同协议的设备进行通信,无论您是通过 TCP 套接字还是串行端口与之通信。无论哪种方式,它都是一个基于 ASCII 命令的界面,您可以在提示符处键入命令,然后输入一个换行符,您会得到一个换行符的响应,然后是一个新的提示符。
> IDENTIFY
DEVICE_TYPE_RESPONSE
> TEST POWER
OK
>
该程序可以并且应该阻塞,直到它得到新的提示,但需要有一个超时,这样你就不会永远等待,以防设备突然死亡。该超时应该是几秒钟,以免错误地标记网络故障,但不应该强迫我在获得提示字符后等待几秒钟。
我喜欢某种抽象接口的方法,以便不关心底层通信层是什么。只需将一个打开的套接字或一个打开的串行端口传递给它,让一切发生。有什么好的方法可以做到这一点吗?最好能够在 Python 2.6 下运行。