javascript - wamp、websockets、wampy.js 和其他。如何获取自己发送的外发消息?
问题描述
我怎样才能收到传出消息?我是发布者,但同时我也是订阅者。当我发布消息时,订阅的回调不起作用。例如,在 wampy.js 中,onEvent 仅在我收到消息时触发(当然应该如此)。但我正在创建一个聊天。就像在任何聊天中一样,我应该看到自己的消息。那么,我怎样才能得到自己的消息呢?我正在折断我的背部以使其正确,没有胶带。也许我应该在后端做点什么?有什么想法吗?
ws.subscribe(topic, {
onEvent: function (data) {
console.log(data);
var message = data.argsList[0];
if(message !== undefined){
newMessage(message);
}
}});
解决方案
我找到了!这并不容易,但我需要更仔细地阅读 wampy.js 的代码。有一个选项“exclude_me: false”,您可以将其作为参数传递给 publish(),默认为 true。:)
客户端代码示例(使用 wampy.js):
function sendMessage(){
var message = getMessageFromField();
if(message !== '' || message !== undefined){
ws.publish(topic, message, function(){
}, {exclude_me: false});
}
$(messageField).val('');
}
推荐阅读
- spring - 我想通过验证从 XML 和 JSON 获得的输入在 DB2 中创建元素,并且需要存储在 DB2 中?
- html - 导航栏 - 需要将顶线和底线扩展到 100%
- python - 遍历 excel 文件,将列添加到系列中,并使用 Panda 库保存结果
- python - AttributeError:“张量”对象没有属性“numpy”
- java - 如何在 Micronaut 应用程序中指定配置文件?
- django - Django 结合来自不同应用程序的两个模板
- jquery - 如何使用 jquery 编辑 xml 元素
- java - 如何在 Java 中制作不同的日历表模型?
- python - 为什么正则表达式匹配对象即使实现了__getitem__也不能迭代?
- mysql - MySQL 查询以找出匹配记录