GET HTTP://本地主机:3000 / socket.io / socket.io.js 404(未找到)
我想数据流给浏览器。我挣扎,但是,把它连接到浏览器。这里是我的html:
<ul class="tweets"></ul>
<script src=".7.1/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect();
jQuery(function ($) {
var tweetList = $('ul.tweets');
socket.on('tweet', function (data) {
tweetList .prepend('<li>' + data.user + ': ' + data.text + '</li>');
});
});
</script>
这是我的app.js的相关部分:
var express = require('express')
, twitter = require('ntwitter')
, http = require('http')
, path = require('path');
var app = express();
var io = require('socket.io').listen(app);
app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); });
app.listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
io.sockets.volatile.emit('tweets', {
user: data.user.screen_name,
text: data.text,
geo : geo,
latitude: latitude,
longitude: longitude
});
我通过我的packages.json文件安装socket.io 0.9.16:
"dependencies": {
"express": "3.2.6",
"jade": "*",
"ntwitter":"0.2.10",
"socket.io":"0.9.x"
}
有人可以帮我从这里出去吗?为什么不能找到它的文件吗?
挖一个深一点。为了测试插座,我把这个在app.js:
var socket = io.listen(app);
而我得到的错误:
TypeError: Object #<Manager> has no method 'listen'
at Object.<anonymous> (/home/andy/dev/node/mytwittermap/app.js:49:17)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
回答如下:
你可以试试这个:
var http = require('http');
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);
我想,你必须实例化socket.io服务器。
GET HTTP://本地主机:3000 / socket.io / socket.io.js 404(未找到)
我想数据流给浏览器。我挣扎,但是,把它连接到浏览器。这里是我的html:
<ul class="tweets"></ul>
<script src=".7.1/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect();
jQuery(function ($) {
var tweetList = $('ul.tweets');
socket.on('tweet', function (data) {
tweetList .prepend('<li>' + data.user + ': ' + data.text + '</li>');
});
});
</script>
这是我的app.js的相关部分:
var express = require('express')
, twitter = require('ntwitter')
, http = require('http')
, path = require('path');
var app = express();
var io = require('socket.io').listen(app);
app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); });
app.listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
io.sockets.volatile.emit('tweets', {
user: data.user.screen_name,
text: data.text,
geo : geo,
latitude: latitude,
longitude: longitude
});
我通过我的packages.json文件安装socket.io 0.9.16:
"dependencies": {
"express": "3.2.6",
"jade": "*",
"ntwitter":"0.2.10",
"socket.io":"0.9.x"
}
有人可以帮我从这里出去吗?为什么不能找到它的文件吗?
挖一个深一点。为了测试插座,我把这个在app.js:
var socket = io.listen(app);
而我得到的错误:
TypeError: Object #<Manager> has no method 'listen'
at Object.<anonymous> (/home/andy/dev/node/mytwittermap/app.js:49:17)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
回答如下:
你可以试试这个:
var http = require('http');
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);
我想,你必须实例化socket.io服务器。