Socket.configure未定义不是函数错误


注意:我正在使用Mac OS 10.10 Yosemite

重要提示:其他问题和答案都不适用于我。

我正在学习一个教程,以便我可以有一个多人游戏。 有一个文件,我必须下载,其中有一个game.js文件,我需要将此代码添加到:


注意:我正确地在正确的目录中下载了socket.io。

var util = require("util"), io = require("socket.io").listen(80); var socket, players; function init() { players = []; socket = io.listen(8000); socket.configure(function() { socket.set("transports", ["websocket"]); socket.set("log level", 2); }); }; init(); 

但是,当我运行节点game.js ,我得到一个如下所示的错误:

注意: Robhawks-mozzilla-festival-92336f2文件夹是其中包含所有文件的文件夹



为什么socket.configure搞砸了? 另外,我该如何解决?

socket.io转到版本1.0时, .configure()被删除。 我猜你正在使用的教程是使用旧版本(0.9),但你已经安装了1.0。

最好将代码基数移到1.0,因为它是最新的。 configuration应该作为服务器初始化的一部分来完成:

 var socket = require('socket.io')({ transports : [ 'websocket' ], ... }); 

更多信息在这里 。

但是,由于您正在学习一个教程,所以使用旧版本的socket.io首先启动并运行起来可能会更容易一些,一旦您熟悉了它,就转到1.0。 在这种情况下,安装旧版本:

 $ npm install socket.io@0.9 

Looging socket.io v1.0日志级选项被删除 。 因此,对于日志logging,必须使用debugging模块来启动程序。

  1. 安装debug: npm install debug -S
  2. 然后运行程序: DEBUG=* node entry_file.js