如果您要发布和订阅同一主题,那么您的消息必须包含一个标识符,该标识符允许您在消息总是返回给您时过滤掉已发布的消息。
例如(伪代码):
const MY_IDENTIFIER = generateSomeIdentifierUniqueToThisClient();
publish({
identifier:MY_IDENTIFIER,
data: // the actual content of your message
});
handleIncoming = data => {
// this was a message you sent
if(data.identifier === MY_IDENTIFIER) return;
// handle it
}
另一种解决方案是订阅demo/+
当您收到一条消息时,您可以使用主题名来查看它来自哪个客户机并以这种方式过滤掉它—这是与上面完全相同的一个变体。