TypeError: io.connect is not a function

TypeError: io.connect is not a function

我正在学习使用 node js 和 socket.io (http://rawkes.com/articles/creating-a-real-time-multiplayer-game-with-websockets-and-node.html) 的简单多人游戏教程。我在尝试连接到套接字时遇到问题 server.I 收到一条错误消息 类型错误:io.connect 不是一个函数 PS : 我是 node js 的新手 socket.io 所以请帮助我。

var util = require("util");
io = require("socket.io"),
    Player = require("./Player").Player;
var socket, players;
function init(){
    players = [];

    socket = io.listen(8000);

    socket.configure(function() {
        socket.set("transports", ["websocket"]);
        socket.set("log level", 2);
    });

    setEventHandlers();

    socket = io.connect("http://localhost", {port: 8000, transports: ["websocket"]});

};

注意: socket = io.connect("http://localhost", {port: 8000, transports: ["websocket"]}); 这必须包含在您通过脚本标记加载 socket.io.js 的客户端 javascript 文件中。

改为:

var util = require("util"),
    io = require("socket.io")({
      transports  : [ 'websocket' ]
    }),
    Player = require("./Player").Player,
    socket,
    players;

function init(){
    players = [];

    socket = io.listen(8000);

    setEventHandlers();

};
init();

注意 socket.io v1.0 不支持下面的内容,如果你想这样做,你必须安装 v0.9,使用:$ npm install socket.io@0.9 -S

socket.configure(function() {
    socket.set("transports", ["websocket"]);
    socket.set("log level", 2);
});

Looging socket.io v1.0 log-level 选项已删除。因此,对于日志记录,必须使用调试模块启动程序。

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