我在app目录中安装了socket.io(以及express),并在index.html文件中以这种方式链接到它:
<script src="http://localhost:8080/node_modules/socket.io/lib/socket.io.js"></script>
Run Code Online (Sandbox Code Playgroud)
我在这个请求上得到了404.我仔细检查了链接,没关系.node.js应用程序在端口8080上运行,我不知道为什么它不起作用
更新:显然它是Express的东西.什么时候不使用它我没有那个问题,socket.io工作正常.这是他设置我的服务器文件:
var express = require('express'),
http = require('http');
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);
app.listen(8000);
Run Code Online (Sandbox Code Playgroud)
这是前端:
<script src="/socket.io/socket.io.js"></script>
<script src="js/vendor/jquery-1.8.3.min.js"></script>
<script>
var socket = io.connect('http://localhost:8000');
Run Code Online (Sandbox Code Playgroud)
此外,我将jQuery从谷歌CDN切换到本地,它也没有找到它
确保您已经socket.io在后端监听外部连接.基本上socket.io有提供socket.io.js文件的内部方法,所以你应该require ('socket.io').listen(app)在定义任何路由到你的应用之前放置你.
正确的网址是:
<script src="/socket.io/socket.io.js"></script>
正如兰杜内尔所说.
因此,您的配置应如下所示:
更新快递3.x:
var express = require('express'),
http = require('http');
var app = express();
var server = http.createServer(app).listen(8000);
require('socket.io').listen(server); // Your app passed to socket.io
Run Code Online (Sandbox Code Playgroud)
服务器端
<script src="http://localhost:8000/socket.io/socket.io.js"></script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8874 次 |
| 最近记录: |