0
我有以下代码:socket.io发射到所有插座不工作
/* WEB SERVER AND SOCKET */
var express = require("express");
var app = express();
var port = process.env.PORT || 3010;
var io = require('socket.io').listen(app.listen(port));
io.configure(function() {
io.set("transports", [
'websocket'
, 'xhr-polling'
, 'flashsocket'
, 'htmlfile'
, 'jsonp-polling'
]);
io.set("polling duration", 10);
});
/* TWITTER STUFF */
t.track('hashtag');
t.track('sometag');
t.on('tweet', function (tweet) {
console.log('Tweet received from ' + tweet.user.name + ' (@' + tweet.user.screen_name + '): ' + tweet.text);
io.sockets.emit('tweet', {
user: {
name: tweet.user.name,
screen_name: tweet.user.screen_name,
profile_pic: tweet.user.profile_image_url
},
text: tweet.text,
time: tweet.created_at,
photo: tweet.media.media_url
});
});
当运行这个,如果我鸣叫使用#标签,我得到的日志,但不发送套接字消息。此外,以下任何推文都不会做任何事情,这表明发布函数挂起。在我的日志启动服务器时,一开始我看到:
info - socket.io started
info - FlashPolicyFileServer received an error event: listen EADDRINUSE
然而,连接仍可进行。正在运行netstat -tulpn | grep :3010
不会返回任何内容,所以我没有真正了解问题所在。我正在运行socket.io 0.9.16并表示3.5.1。
你看到的console.log输出是简单,它是从VAR牛逼听众的原因。 io.sockets可能不起作用(这就是你没有为该端口获得netstat的原因) – 2014-09-05 22:43:55