Javascript Socket.IO客户端库提供;欢迎使用socket.io“;消息
过了一段时间,我再次尝试使用node.js和socket.IO,但没有达到预期效果: 我的设置Javascript Socket.IO客户端库提供;欢迎使用socket.io“;消息,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,过了一段时间,我再次尝试使用node.js和socket.IO,但没有达到预期效果: 我的设置 从github下载node.js,并在运行debian Squence的my外部Web服务器上编译 为node.js项目创建了一个目录 使用npm在本地添加了socket.io 创建了socketIO_server.js并添加了以下代码行: var socketIO = require('socket.io').listen(8000); 启动socketIO_server.js,控制台日志显示“
var socketIO = require('socket.io').listen(8000);
谢谢你的阅读和帮助 这是由于在最近的更改中提交了nodejs的EventEmitter库造成的。我在socket.io上打开了一个问题 更新 此问题自socket.io 0.9.12起已修复 修正: 承诺:
在侦听端口时无法为socket.io.js提供服务。(节点0.9.1-pre,socket.io 0.9.9) 由于最近提交到节点,您无法再拼接事件侦听器。这会导致socket.io在尝试访问socket.io.js客户端文件时显示欢迎消息,因为原始事件侦听器未被删除 破损示例:
var socketIO = require('socket.io').listen(8000);
这是由于节点0.9.1预先更改了访问EventEmitter库侦听器的方式而导致的
断开socket.io的nodejs提交
使EventEmitter.listeners(事件)返回监听器数组的副本
数组本身的属性
相对socket.io代码:
// reset listeners
this.oldListeners = server.listeners('request').splice(0);
几天前我遇到了这个问题。必须将socket.io降级到v0.8.7,它工作正常。您运行的socket.io和nodejs版本是什么?(假设是最新版本)nodejs 0.9.1-preI做了一些挖掘,没有发现任何突出的东西。我已经链接到socket.io代码的相关部分。我没有预装0.9.1,但是你可以打开你的node_modules目录,在socket.io代码中做一些挖掘。好的,我同时做了什么:我也在虚拟机上安装了node.js/socket.io,在为客户机库提供服务时遇到了同样的问题。看起来像个虫子。问题:如何将更改应用于节点_模块上的修改?“npm重建套接字.io”?刚刚更改了“welcome to socket.io”消息,但它仍然显示原始消息。您在node_模块中所做的任何编辑都应该应用。Nodejs将通过
require
查看节点模块内部的任何请求。应用更改后是否重新启动节点进程?编辑:在浏览所有文件后发现一些有趣的东西。
// reset listeners
this.oldListeners = server.listeners('request').splice(0);