我正在使用节点js和socket.io(http://rawkes.com/articles/creating-a-real-time-multiplayer-game-with-websockets-and-node.html)关注简单多人游戏的教程。我正在尝试连接到套接字服务器时遇到问题。我收到错误说 TypeError:io.connect不是函数 PS:我是节点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"]});
};
答案 0 :(得分:2)
注意: socket = io.connect("http://localhost", {port: 8000, transports: ["websocket"]});
这必须包含在客户端javascript文件中,您可以通过脚本标记加载socket.io.js
。
更改为:
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
选项已删除。因此,对于日志记录,必须使用调试模块启动程序。
npm install debug -S
DEBUG=* node entry_file.js