node.js - Socket.io 有时只发出事件
问题描述
我正在使用 React Native 通过 Node.js 连接到 Socket.io。据我所知,我使用 React Native 的事实或多或少无关紧要,除了这意味着我必须transports: ['websocket']
在连接时进行设置。
在后端,当出现提示时,服务器从 API 获取数据,然后通过类似于以下代码的方式将该数据发送到房间:
async getData() {
const data = await fetchData();
io.of('/namespace').to('/room').emit('event', data);
}
问题是事件似乎只在大约 40% 左右的时间里发出。
我配置了 socket.io 来记录终端中的所有内容。当数据传输不起作用时,它看起来像这样:socket.io-parser encoding packet [the data]
,然后它说socket.io-parser encoded [the data]
并且在那之后不记录任何内容。当它确实工作时,会记录这两件事,但之后也会记录socket.io:client writing packet [the data]
。另一个注意事项是,服务器不必首先从 API 获取数据的所有通信似乎都工作正常。如果有人对如何解决这个问题有任何想法,或者我可以采取任何步骤来找到解决方案,我将不胜感激。
解决方案
推荐阅读
- java - 将大括号问题与 try catch 混淆
- android - 在 Kotlin 中初始化 SharedPreference 的正确方法
- ruby - Ruby 应用程序不再能够访问远程 Heroku Postgres - 在本地安装 Postgres.app 之后
- r - 打印矩阵中值的行名
- bash - 用 Bash 打印修改日期
- python - 没有为任何变量提供梯度,Tensorflow 线性回归
- go - 在同一命名空间中生成具有相同名称的第二个函数
- python - python中的确定性分布噪声
- r - ggplot 仅在 y 轴上显示正值(分面图)
- jquery - jQuery多维数组和范围