Socket.io-收到意外数据

时间:2018-10-20 17:53:23

标签: javascript socket.io flask-socketio

因此,我正在四处搜寻,但找不到答案。我目前正在使用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个值。但是,当在客户端内部读取此消息时:

Socket.io log

我的处理程序正在记录一条消息,该消息在每个数组中都有近30个值,它们看起来像以前收到的值的乘积。在这里您可以看到图片:

logged object

如您所见,主体部分包含与以前相同的值,但是重复了20-30次。收到回复后无法确认邮件会引起一些问题吗?

1 个答案:

答案 0 :(得分:0)

我要回答我自己的问题: 该问题是由于在一处注册了过多的事件处理程序而引起的。我当时有一个维护5个事件处理程序的组件,在分成3个独立的组件之后,我终于摆脱了意外的数据。仍然不知道错误的根源,将尝试对此进行调查并在socket.io github页面中创建问题。