c-在SetCommTimeouts之后,窗口如何处理超时



窗口如何处理SetCommTimeouts之后的超时
它是在该级别重新连接,还是在应用层重新连接?

也许您假设的是TCP/IP会话,但在串行端口API中没有这样的概念。

串行端口是一种对等的物理连接电缆,如果程序在两端打开端口,则可以进行通信
分别为几个读/写因素设置超时。有关更多详细信息,请参阅API文档。

对于两个读/写超时值,当您调用读/写API时,如果无法在指定时间内发送或接收指定字节数的数据,则会通知您发生读/写API超时错误。

即使出现这些错误,端口之间的连接也会得到维护,并且在串行端口API级别没有概念或API可以重新连接。

程序员应考虑是否创建了符合所连接设备的通信设置条件和协议规范的程序,例如,在出现错误时不要关闭/重新打开。

根据设备的协议规范,这些错误可能只是因为没有数据要通知,或者某个东西正在运行,还没有准备好接收数据。

在这种情况下,只需重复"读/写",直到它有效为止。

其他设备可能具有由有限状态自动机之类的东西定义的严格状态转换,具有命令/响应/错误处理规范。

因此,您提出的问题没有具体说明连接的设备是没有意义的。

最新更新