我的理解是,想要serve端执行一个动作,正常情况下client端只需要发送一次set/get消息,但是为了让消息正确被接收,所以可能存在每次发送消息的时候会发送多次,而这个TID就是为了区分这种情况吗?如果是这样,那我们只需要用一个uint8的变量保存TID字段值,每次发送消息的时候让该值+1即可。还有如果是这样,那我们自定义的模型中是否也可以参考这个,增加TID字段?
Amand 能存在每次发送消息的时候会发送多次,而这个TID就是为了区分这种情况吗?
不是,这个就像累加的值,统计你当前是第几包
Amand 那我们自定义的模型中是否也可以参考这个,增加TID字段
自定义内容可以随便你来
用来判断消息ID是否重复
Wireless-Tech 不是,这个就像累加的值,统计你当前是第几包
不是SegO字段统计的嘛
Wireless-Tech 如果是这样,那这个统计包数的意义是啥呢? 比如拿遥控器控制灯具,我觉得用户和开发者应该都不会关心控制了多少次开关灯或者设置了多少次亮度值,那统计这个次数感觉没啥意义呀
pea Wireless-Tech 你说的太笼统了,你说的丢包率应该是在协议的网络层起作用吧,下面是我理解:我们分2中情况讨论,1.client指定serve的单播地址,一对一的发送一次set消息 2.client指定组地址,一对多的发送一次set消息。如果是一对一的情况,目标serve的model层应该不会收到同样的数据包多次吧,因为TID字段是在协议的model层,同样的数据包在网络层应该就会被过滤掉。如果是一对多的情况,目标serve可能会存在接收到多次同样的set消息,TID这个时候就起作用了。不知道我的理解是不是对的
pea 你说的这个是网络封包
Amand 用来降低整体的丢包率,如果之前收到了一样TID字段的消息是会被抛弃的
Amand 你不需要别人需要啊,因为这个是那个模型的一个可选的字段,你可要可不要
Amand
Wireless-Tech 我知道是应用层定义的,并且是可选的,但是官方文档既然给出来了这个字段,说明肯定是有应用的场景的,我就是想知道这个具体用在什么场景下会用到及这个这个场景下用这个字段的意义,希望给个示例让我弄明白。
Amand 你最上面截的英文描述不是很清楚了吗?