Socket.IO视频客户端

时间:2014-11-26 01:33:39

标签: html node.js socket.io

嗨,我试图将同步视频客户端作为一种爱好,让我们不要深入了解客户端实际工作,因为我有点想弄明白自己,你怎么能帮助我我目前的问题。

好吧,我开始在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的视频才能找到它?我必须指定完整路径吗?

1 个答案:

答案 0 :(得分:0)

你错过了为静态文件提供服务的东西。 Express有一个内置的express.static()中间件,可用于此目的。通常,您将此中间件放置在堆栈顶部附近,以便可以立即提供对静态文件的请求,而无需遍历其他中间件和/或路由列表。