[英]TCP server client or client server
我很纳闷...
我的项目是一台连接到隔离网络中的多个微控制器板的 PC。 到目前为止,协议是UDP,它易于处理,没有特定的客户端/服务器,但有一个明显的缺点,当事情繁忙时会丢失消息。
微控制器具有固定的 IP 地址(由拨码开关设置),PC SW 有一个列表,当前向每个微控制器发送 UDP 消息,它们回复它们来自的地址(即 PC)和状态和/或数据。
我现在的问题是我切换到 TCP 而不是 UDP,PC 应该是具有许多客户端(可以是 1 到 50 之间的任何一个)的监听服务器,还是微控制器应该是 PC 可以作为客户端连接到的监听服务器? 注意:控制器具有固定/已知地址 - PC 没有。
另一个问题是重新连接。 微控制器是外部的,可能会失去连接、重置或需要重新连接。
谢谢....
PC 应该是具有许多客户端(可以是 1 到 50 个)的监听服务器,还是微控制器应该是 PC 可以作为客户端连接的监听服务器?
这是一个我们无法为您回答的基本设计问题。 可能,任意设备连接到中央服务器更实用,但这不是给定的。
控制器具有固定/已知地址 - PC 没有。
这可能会扭转之前的问题。
微控制器是外部的,可能会失去连接、重置或需要重新连接。
这是您需要在设计中加入的内容 - 让 TCP 连接超时并重新连接。 通常,有限状态机在这里很有用。 您还应该考虑是否使用类似于 UDP(更易于实现)或更长的 TCP session(数据传输更高效)的一次性连接-发送-断开连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.