我的服务器结构很简单.我有一个与我的应用程序处于同一级别的公共文件夹
app.js
node_modules(folder)
express(folder)
socket.io(folder)
public(folder)
index.html
js(folder)
css(folder)
Run Code Online (Sandbox Code Playgroud)
我的应用程序如下
var sys = require('sys'),
express = require('express'),
app = express.createServer('127.0.0.1'),
io = require('socket.io');
app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {
res.send('Hello World');
});
app.listen(3000);
var socket = io.listen(app);
socket.on('connection', function (client){
// new client is here!
});
Run Code Online (Sandbox Code Playgroud)
我的html页面(简化)是
<html>
<p id="text">socket.io</p>
<script src="/socket.io/socket.io.js"></script>
<script type="text/javascript" src="js/lib/jquery-1.4.2.min.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)
当我运行服务器并加载我的index.html时,找不到socket.io.js,会产生404错误.是什么赋予了?在我的情况下,socket.IO必须全局安装吗?
试试这个:
var sys = require('sys'),
express = require('express'),
app = express(),
io = require('socket.io');
app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {
res.send('Hello World');
});
var server = app.listen(3000);
var socket = io.listen(server);
socket.on('connection', function (client){
// new client is here!
});
Run Code Online (Sandbox Code Playgroud)
一些解释:
express.createServer不推荐使用,Express 3运行express()以实例化Express;io.listen应该传递一个http.Server实例,而你传递一个Express实例(一个http.Server实例返回app.listen(...));socket.io.js文件放在任何地方; socket.io安装一个处理程序,监视该文件的请求,并自动提供;| 归档时间: |
|
| 查看次数: |
3559 次 |
| 最近记录: |