可能是我解释不够清晰,所以以 client-id-1 以及 client-id-2 为样例详细说明一下:
client-id-1 创建一个成员为 client-id-1 以及 client-id-2 的普通会话后,client-id-1 和 client-id-2 都会接收到 conversation#onInvited
事件。
client-id-2 接收到 conversation#onInvited
事件应该很好理解,指它被 client-id-1 邀请加入到会话中;让您疑虑的地方是 client-id-1 也接收到了 conversation#onInvited
事件。
client-id-1 作为会话的创建者,也接收到 conversation#onInvited
事件,这个设计的主要目的是为了解决「同一个 ID 在多设备保持在线时,需要同步事件或数据」这一需求。即当 client-id-1 在设备 A 以及设备 B 上同时在线时,设备 A 的 client-id-1 创建一个会话后,设备 B 的 client-id-1 需要知道或同步这一操作,所以就会出现会话的创建者也接收到 conversation#onInvited
事件,这里的行为乍一看确实有点难理解,甚至有些奇怪,但它确实是为了特定需求而设计的。
而 client-id-1 只在一台设备登录时也接收到了事件,是为了兼容历史包袱而保留的。接口的行为有冗余,您可以自行过滤掉不需要响应的事件。