这是我的HTML:
<!DOCTYPE html>
<html>
<head>
<link rel='stylesheet' href='css/main.css' />
</head>
<body>
<div id='container'>
<div id='videos'>
<video id="localVideo" autoplay="true" ></video>
<video id="remoteVideo" autoplay="true" ></video>
</div>
</div>
<script src='http://127.0.0.1:2013/socket.io/socket.io.js'></script>
<script src='adapter.js'></script>
<script src='main.js'></script>
</body>
</html>
这是我的nodejs脚本:
var static = require('node-static');
var http = require('http');
var file = new(static.Server)();
var app = http.createServer(function (req, res) {
file.serve(req, res);
}).listen(2013);
var io = require('socket.io').listen(app);
io.sockets.on('connection', function (socket){
socket.on('message', function (message) {
socket.broadcast.emit('message', message);
});
socket.on('create or join', function (room) {
var numClients = io.sockets.clients(room).length;
if (numClients == 0){
socket.join(room);
socket.emit('created', room);
} else if (numClients == 1) {
io.sockets.in(room).emit('join', room);
socket.join(room);
socket.emit('joined', room);
} else {
socket.emit('full', room);
}
});
});
当我使用以下方式访问我的应用程序时
http://127.0.0.1:2013/
:有效!
http://127.0.0.1/chat/
:给mes一个错误:
GET http://127.0.0.1/socket.io/1/?t=1397595935052 404 (Not Found) socket.io.js:1659
我的目标是使用Apache而不是nodejs作为http服务器。
答案 0 :(得分:0)
应该解决您的问题的一个可以说是更好的方法是使用反向代理。我认为Apache可以配置为反向代理,但很多人只是在其他所有方面使用NGINX。
NGINX首先是一个反向代理,可以轻松地将特定的http(和https)请求(通过它们的url)代理到其他本地端口,因此您可以拥有多个不同的服务器(例如,带有一些nodejs服务的php站点以获得更多DIRTY任务)无缝地呈现给网络用户,一切都可以进入端口80和443。
如果你只需要一个静态主机,nginx也可以运行一个基本的Web服务器。