嗨,我试图将同步视频客户端作为一种爱好,让我们不要深入了解客户端实际工作,因为我有点想弄明白自己,你怎么能帮助我我目前的问题。
好吧,我开始在socket.io网站上的“hello world”简介作为一种学习如何传递消息的方式,我在那里处理用户如何连接以及如何为HTML提供相同的服务。用户连接到index.js并将它们交给HTML。所有html正在做的是向他们展示视频,并在用户暂停时收听。这是JS
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendfile('index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
io.on('connection', function(socket){
socket.on('message', function(msg){
console.log('message: ' + msg);
});
});
io.on('connection', function(socket){
socket.on('message', function(msg){
io.emit('message', msg);
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
here is the html
<!doctype html>
<html>
<head>
<title>Socket.IO chat</title>
</head>
<body>
<center> <p><video src="test.mp4" controls></video></p> </center>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket = io();
var video = $_("video");
video.addEventListener("timeupdate", function() {
socket.emit('message', "pause");
}, true);
</script>
</body>
</html>
如果我连接到js指定的目标,则找不到视频。如果我只是在浏览器中打开HTML,视频就可以了。
我必须在哪里播放js的视频才能找到它?我必须指定完整路径吗?
答案 0 :(得分:0)
你错过了为静态文件提供服务的东西。 Express有一个内置的express.static()
中间件,可用于此目的。通常,您将此中间件放置在堆栈顶部附近,以便可以立即提供对静态文件的请求,而无需遍历其他中间件和/或路由列表。