前面的程序进行了完善,总体说,采用组播进行节点发现;组件名称:ObserverDDS
采用TCP,UDP通信,TCP已经解决粘包;UDP采用最大努力投递;
最大努力投递,UDP分包,传递后,接收端会按照IP+Port的方式返回数据包序列,高速发送端已经收到;发送端会在一秒内重复发送没有收到回执的数据,但是1秒后也自动消失,也就是1秒内会发送20次;接收端在5秒内不能完成接收组包,也会自动移除已经收到的数据,该数据也就投递失败了。任何无效数据1分钟内也会消失。由于会保持反复投递,所以发送端的内存可能会有压力,并没有采用内存限制方式,也许以后会添加,也很好实现。
程序默认会启用TCP,UDP2种协议,端口为0,由系统自动分配。但是当前是UDP测试,TCP算是保留。
程序启动后会定时更新发布地址列表。
1.节点
2.发布
3.订阅
以上是主要流程