【发布时间】:2014-10-25 04:43:18
【问题描述】:
我正在关注这个博客的示例,实施后出现了问题
https://github.com/DanialK/ReactJS-Realtime-Chat
总而言之,在通过 websocket 发送消息之前,消息的状态会更新。 当服务器收到该消息时,它们会向所有客户端发送广播,包括我自己。 因此,客户端使用相同的消息更新状态
为什么这条消息没有出现 2 次? 我不希望该消息出现 2 次,但我想知道它为什么会发生
客户端代码:
socket.on('send:message', this.messageRecieve);
...
handleMessageSubmit : function(message){
Messages.push(message);
this.setState({ messages : Messages });
socket.emit('send:message', message);
},
messageRecieve: function(message){
Messages.push(message);
this.setState({ messages : Messages });
},
服务器代码:
socket.on('send:message', function (data) {
socket.broadcast.emit('send:message', {
user: name,
text: data.text
});
});
【问题讨论】:
-
我没有收到自己的消息?
-
我们不知道您是否收到此消息,请查看您的日志并告诉我们。我们不知道这是 React 渲染问题还是 Websocket/服务器问题...
-
我问这个是因为我怀疑这是socket.io的行为...
标签: node.js websocket socket.io reactjs