当前位置: 首页 > 知识库问答 >
问题:

连接上的socket.io无限循环

呼延臻
2023-03-14

在连接上创建infinte循环!很奇怪,直到现在才发生。我不知道出了什么问题。我试图重建包,我复制一些代码从旧的源代码和相同的结果...

io.on('connection', function(socket){
  console.log('someone connected << infinite loop');
});
const
port        = process.env.PORT || 3200,
app         = require('express')(),
express     = require('express'),
mysql       = require('mysql'),
bodyParser  = require('body-parser'),
path        = require('path'),
methodOverride = require('method-override'),
http        = require('http').Server(app),
io          = require('socket.io')(http);
var socket = io();

共有1个答案

庞元青
2023-03-14

当我发出一个数组(在连接上)而不是一个对象时,我就遇到了这种情况...

我通过用{}包装数组来解决它,所以我现在发送一个对象...即{数组}...

例如:

myArray = [{blah:"some value"},{blah2:"some other value"}];

socket.emit('target',myArray); //results in infinite loop

socket.emit('target',{myArray}); //sends ok and not looping

不需要在服务器和客户端上匹配套接字版本...在我的例子中,客户机是C#,服务器是Node.js

 类似资料:
  • 使用带有socket.io的nodejs服务器和客户机,我可以让14K个客户机进行连接。即使在使用集群时也略少。 CPU和RAM都没有耗尽。除了socket.io自己执行的自动ping之外,不会传输任何数据。 如果机器不够强大,我可以理解。但是,我希望服务器无论如何都会随机删除客户端,而不是每次尝试时都保持特定的数量。 编辑:这是在Windows上使用网络Storm,我会在Linux机器上测试,当

  • 我正在尝试构建实时聊天消息。在客户端(React),每当有新用户进入聊天时,套接字的事件usuarios-conectados都会被触发(此套接字事件为我提供了当时连接的所有用户的数组)。 然后,我尝试在useState中设置该用户数组,但正因为如此,组件进入循环并不断重新渲染自己。 这似乎是问题所在,因为每当我调用useSocket,控制台时。日志(用户)不断打印连接的用户

  • 首先,我不是程序员(只是对PHP有一些了解)。我制作了一个带有事件列表的网站,其中有一个选择字段,每月使用Ajax加载过滤事件。 该代码在大约3个月的时间里运行良好。但5天前,它突然停止工作,开始生成一个无限循环。 我调试了代码,发现问题出在“同时”循环上。我试图理解为什么这在一段时间内是完美的,然后它就不会了。(用无限循环崩溃服务器)。 这个函数只给出下个月的第一天。很好用。 这一个,为选择字段

  • 问题内容: 我有一个使用socket.IO的node.js应用程序。它可以在http上正常工作,但是当尝试通过https连接到套接字时,没有任何反应。 这是代码的一部分: 和功能: 客户端连接如下: 正如我说的,在http上一切正常,但是在https上连接会给我“连接被中断”。我究竟做错了什么? 问题答案: 您不能像服务器那样初始化服务器。您必须启动一个单独的https服务器,然后将socket.

  • 问题内容: 如标题所述,我尝试将socket.io 1.0.4与express 4.2一起使用,并且所有请求都返回404。 以下是我的文件: ./bin/www: ./app.js: 问题答案: 我在文件上摆弄了很多东西,然后开始工作,这是我如何开始工作的: ./bin/www: 需要保留require app.js ,否则将无法正常工作。 ./app.js: 所有这一切都对 WWW 放在这里,最

  • 我有2个JTextFields: 对于如何实现该行为的任何帮助都非常感谢,因为我必须为至少10个其他文本字段执行此操作。 谢谢你!