我试图按照socket.io的https://github.com/LearnBoost/socket.io/wiki/Configuring-Socket.IO设置配置
io.set('log level', 1);但是我得到了TypeError: Object #没有方法'set‘.怎么了?我有io = require("socket.io")
也试过了,
io.configure('production', function(){
io.set('log level', 1);
});但没有运气。怎么了?
编辑:
require.paths.push('/cygdrive/c/Personal/software/nodejs/NODE/node_modules');
var express = require("express"),
fs = require("fs"),
form = require('connect-form'),
app = express.createServer(
form({ keepExtensions: true })
),
sys = require("sys"),
RentModel = require("./rent_schema"),
UserModel = require("./track_schema"),
io = require("socket.io"),
fb = require('facebook-js'),
Twitter = require('./Twitter_Analysis'),
Foursquare = require('./Foursquare_Analysis'),
YQL = require("yql"),
settings = require("./settings");
socket = io.listen(app);
:::::::::::::::::
app.listen(9999);这很好..。但是,如果我将它更改为io = require("socket.io").listen(8080),它会给我带来错误,侦听方法找不到。
发布于 2011-12-02 10:37:33
require('socket.io')返回一个套接字对象。set属性位于socket.io-manager上。经理由require('socket.io').listen(server)调用返回。
注意,您应该将一个web服务器传递给socket.io,而不仅仅是一个端口:
var app = require('http').createServer(handler),
io = require('socket.io').listen(app);
io.set('log level', 2);
app.listen(8080); // this is the server, not socket.io发布于 2011-10-10 08:17:54
您需要的是var io = require('socket.io').listen(80);,而不是只需要。
发布于 2011-10-11 01:08:43
var io = require('socket.io').listen(80);
io.configure( function(){
io.set('log level', 3);
});这里有一件重要的事情要注意。如果您得到了error*process.nextTick错误,或者第一个勾号上的“error”事件.*这意味着您有另一个get服务器,如Apache,侦听端口80。
因此,如果您将端口移到例如8080,它应该可以工作:
var io = require('socket.io').listen(8080);
io.configure( function(){
io.set('log level', 3);
});希望这能有所帮助。
https://stackoverflow.com/questions/7710012
复制相似问题