socket.io配置

use*_*745 5 node.js socket.io

我正在尝试按照https://github.com/LearnBoost/socket.io/wiki/Configuring-Socket.IO设置socket.io的配置

io.set('log level', 1);
Run Code Online (Sandbox Code Playgroud)

但我得到的是TypeError:对象#没有方法'设置'......出了什么问题?我有io = require("socket.io")

也尝试过,

io.configure('production', function(){
    io.set('log level', 1);
});
Run Code Online (Sandbox Code Playgroud)

但没有运气.怎么了 ?

编辑:

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);
Run Code Online (Sandbox Code Playgroud)

这工作正常..但如果我将其更改为io = require("socket.io").listen(8080)它给我错误,找不到listen方法.

Kat*_*ato 8

require('socket.io')返回一个Socket对象.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
Run Code Online (Sandbox Code Playgroud)


sma*_*thy 2

你想要var io = require('socket.io').listen(80);而不只是要求。