首页 > 解决方案 > 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);
    }

}});

标签: javascriptfrontendwampchatmessaging

解决方案


我找到了!这并不容易,但我需要更仔细地阅读 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('');
}

推荐阅读