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

nodejs套接字发射返回未定义

詹钊
2023-03-14

我正在尝试发送到客户端每当一个新的连接发出。

我的服务器端javascripts是:

var clients = 0;
io.sockets.on('connection', function (socket) {
clients ++;
console.log(clients);
socket.broadcast.emit('connect',socket.clients);
}

和要处理的客户端js:

socket.on('connect', function (data) {
console.log('on'+data);});

输出未定义(在未定义的情况下)

哪里不对劲了?

共有1个答案

令狐良骏
2023-03-14
socket.broadcast.emit('connect',socket.clients);
                                ^^^^^^^^^^^^^^ this should be 'clients'

此外,connect是带有socket.io的预定义事件,因此不应该重用它,否则可能会产生意外的结果。

fwiw:socket.broadcast.emit将向除当前连接之外的所有连接发送消息。如果这不是您想要的(您希望消息发送到所有连接),请改用io.sockets.emit)。

 类似资料:
  • 在nodeJS应用程序中,我希望通过其UNIX套接字。我用这个包裹https://mongodb.github.io/node-mongodb-native/?jmp=docs(版本3.1.6),通过这种方式: 此处的文档中引用了URI:https://docs.mongodb.com/manual/reference/connection-string/#unix-域套接字。但在我的例子中,它失

  • 我之前问过这个问题,它与这个问题相关(如何从异步调用返回响应?),但它并没有解决我的问题 我是node.js的新手,我遇到了一些我无法处理的错误,或者找不到任何我理解的帮助。我使用express generator初始化应用程序。我试图通过一个api调用将我得到的对象发送到前端。我编写了一个类“StockClass.js”,其中包含一个函数makeApiCall(),该函数进行调用并返回对象。但当

  • 问题内容: 因此,当我打开灯箱时,我试图禁止在页面上滚动,而我发现这个确实有用的脚本非常有用。不幸的是,当我在自己的页面上使用它时,它也禁止在灯箱中滚动。我开始用警报调试代码,只是发现该事件。wheelDelta在我的页面上返回“undefined”,而在JSFiddle中,它返回-120。 问题答案: jQuery事件处理程序中的对象不能反映真实事件。是IE和Opera的非标准事件属性,可通过j

  • 我制作了一个带有阻塞套接字的小型套接字echo服务器(请参见下面的代码),但是select语句始终返回0,即使有消息要读取。其他的都管用。如果通过简单地将1赋给来替换select语句,则服务器可以工作。 服务器在虚拟机中运行在Ubuntu上,而客户端在主机系统上(Windows7 professional)。我的服务器IDE是Eclipse3.8,它使用OpenSSL1.0.1j。 要让这段代码工

  • 我正在尝试为discord bot执行命令,它从MySQL表中输出整数。 我尝试使用async/await、Promissions和回调来实现这一点,但结果总是一样的。在这里,我用promise再次尝试,因为在过去它不知何故起了作用。现在不会了。 下面是返回promise的函数: 下面的代码将结果赋值给Access Level变量: Catch函数捕获表示“TypeError:无法读取未定义的属性

  • 我是JS的新手,不明白为什么我的程序中的图像没有改变。所有的变量都运行良好。下面是片段 所有的图像都被命名为1.jpg,2.jpg,3.jpg,4.jpg,直到24。这是一种很奇怪的方式,我也知道,如果有人知道更好的方式,那会更好。