首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket.io配置

socket.io配置
EN

Stack Overflow用户
提问于 2011-10-10 08:07:42
回答 3查看 17K关注 0票数 5

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

代码语言:javascript
复制
io.set('log level', 1);

但是我得到了TypeError: Object #没有方法'set‘.怎么了?我有io = require("socket.io")

也试过了,

代码语言:javascript
复制
io.configure('production', function(){
    io.set('log level', 1);
});

但没有运气。怎么了?

编辑:

代码语言:javascript
复制
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),它会给我带来错误,侦听方法找不到。

EN

回答 3

Stack Overflow用户

发布于 2011-12-02 10:37:33

require('socket.io')返回一个套接字对象。set属性位于socket.io-manager上。经理由require('socket.io').listen(server)调用返回。

注意,您应该将一个web服务器传递给socket.io,而不仅仅是一个端口:

代码语言:javascript
复制
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
票数 8
EN

Stack Overflow用户

发布于 2011-10-10 08:17:54

您需要的是var io = require('socket.io').listen(80);,而不是只需要。

票数 2
EN

Stack Overflow用户

发布于 2011-10-11 01:08:43

代码语言:javascript
复制
var io = require('socket.io').listen(80);

io.configure( function(){
    io.set('log level', 3);

});

这里有一件重要的事情要注意。如果您得到了error*process.nextTick错误,或者第一个勾号上的“error”事件.*这意味着您有另一个get服务器,如Apache,侦听端口80。

因此,如果您将端口移到例如8080,它应该可以工作:

代码语言:javascript
复制
var io = require('socket.io').listen(8080);

io.configure( function(){
    io.set('log level', 3);

});

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7710012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档