CH392F能不能以这种方式通信呢

如下图:主机即作为TCP服务端接收来自所有从机客户端的数据,也可以向所有或者某个从机客户端发送数据;

从机即作为TCP客户端向主机服务端发送数据,也作为服务端接收来自终端的数据、也可以给所有或者某一个终端发送数据;

终端作为客户端即可以接受来自从机的数据也可以给从机一直发送数据。

以太网能否以上述方式通信呢?用CH392F能否实现呢?从机只用一个芯片能否完成上述功能呢?如果CH392F不能实现,有推荐芯片吗?微信图片_20240514094828.jpg

您好,通过您的描述了解到您的需求至少需要5个socket(一个作为TCP客户端连接服务器,一个用于TCP服务器的监听端口监听终端连接请求,三个socket分别用于与三个终端通信),但392F仅支持4个socket建议选用392T(支持最多8个socket),如有其他问题可邮箱沟通(zl@wch.cn)。


图中只是示意图,实际中从机的数量不止3个,每个从机下面的数量也不止3个,这样的话还能用上述方式吗?

如果不行改成这样能否可以:每次只连接一个客户端,这个客户端发送完数据后断开,下一个客户端再连接发送数据。

如果将TCP协议换成UDP协议,也是一个客户端对应一个Socket吗?有大概的方案实现图中的通信方式吗?


1、392T最多支持8个socket;392F最多支持4个socket;

2、TCP 模式通信时一个客户端对应一个socket,如果不是多个客户端同时通信可以采用交替连接通信的方式;

3、UDP单播模式也是一个socket对应一个对端设备,目的ip设备4个255的工作模式可以实现体单个socket对应多个设备,此时392收到的数据会多8字节头部信息以表示对端设备的信息;

image.png


当有多个设备UDP广播时,那接收广播的设备是都接收吗?



不是所有的广播包接收设备都接收,接收设备只接收特定端口号(自己端口号)的广播包与单播包,如有其他问题可以邮箱联系(zl@wch.cn)


1.如果多个设备广播的端口号一样的话,那接收设备是都接收吗?

2.照上述,设备接收广播时还得看发送的端口号,那这样跟点对点有啥区别?这样的话一个设备广播,多个设备接收,那岂不是只有端口号对应的接收设备才会接收到数据,这不就跟单播的结果没什么区别吗?!!!广播不是所有的设备都可以接收吗?


您好,

1.如果接收设备的本地端口和广播设备的目的端口一致,则可以接收。

2.单播同一时间只能是一对一通信,而广播可以实现下发的数据被多个接收端设备收到(前提是广播包的目的端口和设备的本地端口一致)。

后续问题可邮件交流(邮箱:lq@wch.cn)


只有登录才能回复,可以选择微信账号登录