因此,我正在四处搜寻,但找不到答案。我目前正在使用typescript(v2.8.3)和react.js(v16.4.0)开发一个应用程序,该应用程序使用socket.io客户端(v2.1.0)连接到flask服务器。每次运行一次,我接收的数据看起来像是从服务器实际发送的数据 但复制了多次。我已经为特定消息创建了处理程序,如下所示:
maintainer
我已记录了从服务器端服务器发送的请求:
this.props.socket.on("some_message", this.handleSomeMessage);
private handleSomeMessage = (message: any) => {
console.log(message);
this.setState({data: message.diff});
};
这是从服务器端记录的差异:
if self.key_to_event_dict[key] == "some_message":
with open("sent.txt", "a") as f:
json.dump(diff_obj, f)
self.socketio.emit(
self.key_to_event_dict[key],
diff_obj
)
如您所见,每条消息最多返回2个值。但是,当在客户端内部读取此消息时:
我的处理程序正在记录一条消息,该消息在每个数组中都有近30个值,它们看起来像以前收到的值的乘积。在这里您可以看到图片:
如您所见,主体部分包含与以前相同的值,但是重复了20-30次。收到回复后无法确认邮件会引起一些问题吗?
答案 0 :(得分:0)
我要回答我自己的问题: 该问题是由于在一处注册了过多的事件处理程序而引起的。我当时有一个维护5个事件处理程序的组件,在分成3个独立的组件之后,我终于摆脱了意外的数据。仍然不知道错误的根源,将尝试对此进行调查并在socket.io github页面中创建问题。