【问题标题】:Socket.IO video clientSocket.IO 视频客户端
【发布时间】:2014-11-26 10:15:19
【问题描述】:

您好,我正在尝试将同步视频客户端作为一种爱好,让我们不要深入研究使客户端实际工作,因为我有点想自己弄清楚,您如何能够帮助我我当前的问题。

好的,我从 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 找到它?我必须指定完整路径吗?

【问题讨论】:

  • 如果你只是在玩这一切,我会建议使用 WebRTC 和 websockets 进行媒体流。它是专门为此目的而制作的。为集中式消息处理或类似操作保留套接字。

标签: html node.js socket.io


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 2018-11-27
    • 2012-02-20
    • 2020-01-11
    • 2015-06-18
    相关资源
    最近更新 更多