首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pubnub多次发送消息

Pubnub多次发送消息
EN

Stack Overflow用户
提问于 2018-05-07 21:12:17
回答 1查看 1K关注 0票数 1

我正在使用ReactJ与pubnub一起构建一个聊天应用程序。问题是我的第一条消息是发送一次,第二条是发送两次,第三条是发送三次。有什么不对的,这是我的密码。我需要在某个时候取消订阅吗?消息不只是多次显示,实际上是发送的。

代码语言:javascript
复制
class App extends Component {
    constructor(props) {
        super(props);
        this.pubnub = new PubNub({
            publishKey: 'demo',
            subscribeKey: 'demo',
        });
        this.sendMessage = this.sendMessage.bind(this);

    }
    sendMessage() {
        this.pubnub.publish({
            channel: "simple-chat",
            message: {
                text: this.state.currentMesage,
                sender: this.pubnub.getUUID()
            }
        });

        this.setState({
            currentMesage: ''
        });

        this.pubnub.subscribe({
            channels: ['simple-chat'],
            withPresence: true
        });
        this.pubnub.addListener({
            message: (evt) => {
                console.log('you have got a message:' + JSON.stringify(evt));
                this.state.messages.push({
                    text: evt.message.text
                })
                this.setState({
                    messages: this.state.messages
                });
            }
        });
    }

export default App;
EN

回答 1

Stack Overflow用户

发布于 2018-05-08 19:03:45

我相信这不是重复出版。我觉得你一遍又一遍地订阅同一个频道……在发布“一次又一次”的同时,对于每一个新订阅,您都会接收到所有发布到该频道的消息(比如历史)。

所以1st publish->subscribe-> 1 message 2nd publish->subscribe-> 2 messages 3rd publish->subscribe-> 3 messages等等..。

  1. 您的PubNub init应该是全局的和/或更好地管理订阅/发布调用。
  2. 请使用UUID并使用静态值设置它

最好,阿维。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50222497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档