Node.js 得到http://localhost:3000/socket.io/socket.io.js 404(未找到)
我正在尝试将数据流传输到浏览器。然而,我正在努力将它连接到浏览器。这是我的html:Node.js 得到http://localhost:3000/socket.io/socket.io.js 404(未找到),node.js,socket.io,Node.js,Socket.io,我正在尝试将数据流传输到浏览器。然而,我正在努力将它连接到浏览器。这是我的html: <ul class="tweets"></ul> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="/socket.io/socket.io.js"></script> <scrip
<ul class="tweets"></ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.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>
我通过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
TypeError:对象#没有方法“listen”
反对。(/home/andy/dev/node/mytwittermap/app.js:49:17)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
位于Function.Module.runMain(Module.js:497:10)
启动时(node.js:119:16)
在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服务器。您的设置需要如下所示:
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
...
server.listen(app.get('port')); // not 'app.listen'!
// at the top of app.js
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
// your code
// at the bottom of app.js
server.listen('3000', () => {
console.log('Server listening on Port 3000');
})
- 您需要实例化socket.io连接和
- 您需要使用
而不是server.listen()
app.listen()
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
...
server.listen(app.get('port')); // not 'app.listen'!
// at the top of app.js
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
// your code
// at the bottom of app.js
server.listen('3000', () => {
console.log('Server listening on Port 3000');
})
好极了-现在看来可以正常工作了(控制台中有很多很好的调试信息)。现在了解为什么它不显示在浏览器中。非常感谢您的帮助。谢谢,您的台词://不是“app.listen”!“帮助很大!!感谢您在这里发布的2016年“非应用程序。聆听”。我也犯了同样的错误。详细信息已更改,但我们需要执行的部分
server.listen
(不在应用程序上)仍然有效。谢谢@sra你能看看我刚贴的这个吗?(socket.io)。侦听不起作用,必须直接键入(socket.io)(服务器)