小编wil*_*lly的帖子

websocket 在连接中发送参数?

我有一个场景,我需要使用nodejs和创建一个非常简单的文本聊天Websocket

我已经准备好一切并开始工作。

我现在需要允许用户在 websocket connectionURL 中发送一个参数。

像这样: websocket = new WebSocket("ws://test-website.net:8080/?id=55");

在我的研究中,我遇到了很多类似的问题,并发现我可以像上面的例子一样在 URL 中传递参数。

然而,他们没有提及或解释如何得到这个参数(55在这个例子中)server.js

wss.on('connection', function(ws) {

///I need to get the parameter here////

});
Run Code Online (Sandbox Code Playgroud)

有人可以就这个问题提出建议吗?

提前致谢。

javascript websocket node.js

9
推荐指数
1
解决办法
1万
查看次数

当用户关闭浏览器时检测Websocket关闭连接?

我在我的项目中使用 HTML5 websocket 和 nodejs 来创建一个简单的聊天。

到目前为止,一切都按预期进行。

但是,我需要弄清楚如何检测已连接的用户是否以某种方式失去连接,特别是他们是否关闭浏览器等。

我尝试了以下代码。

我可以像这样成功连接:

wss.on('connection', function(ws, req) {

//do my stuff here/////
console.log('connection started');

});
Run Code Online (Sandbox Code Playgroud)

但是,当我通过关闭浏览器断开连接时,我在控制台中看不到任何内容。

我使用此代码来检测连接关闭:

wss.on('closed', function(ws) {
        console.log('connection closed');
});
Run Code Online (Sandbox Code Playgroud)

如果我遗漏了什么或做错了什么,有人可以告诉我吗?

提前致谢。

编辑:

这似乎有效:

  ws.on("close", function() {
    console.log("closed");
  });
Run Code Online (Sandbox Code Playgroud)

javascript websocket node.js

5
推荐指数
1
解决办法
5851
查看次数

流式传输 html5 画布内容的有效方式?

我正在尝试html5 canvas使用websockets和实时流式传输 a 的内容nodejs

html5 画布的内容只是一个视频。

到目前为止我所做的是:

我将画布转换为blob,然后blob URL使用 websockets获取该URL 并将其发送到我的 nodejs 服务器。

我得到这样的 blob URL:

canvas.toBlob(function(blob) {
   url = window.URL.createObjectURL(blob);
});
Run Code Online (Sandbox Code Playgroud)

blob URL 是按视频帧生成的(准确地说是每秒 20 帧),它们看起来像这样:

blob:null/e3e8888e-98da-41aa-a3c0-8fe3f44frt53
Run Code Online (Sandbox Code Playgroud)

然后我通过 websockets 从服务器获取那个 blob URL,这样我就可以用它来将它绘制到另一个画布上供其他用户查看。

我确实搜索了如何从 blob URL 绘制到画布上,但我找不到任何与我想要做的事情相近的东西。

所以我的问题是:

  1. 这是做我想要实现的目标的正确方法吗?任何利弊将不胜感激。

  2. 有没有其他更有效的方法来做到这一点,或者我走在正确的道路上?

提前致谢。

编辑:

我应该提到我不能在这个项目中使用 WebRTC,我必须用我所拥有的来做这一切。

为了让我现在所处的每个人都更容易,这就是我尝试使用 websockets 在画布中显示我上面提到的 blob URL 的方式:

websocket.onopen = function(event) {

        websocket.onmessage = function(evt) {
            var val = evt.data;
            console.log("new data "+val);
            var canvas2 = document.querySelector('.canvMotion2');
            var …
Run Code Online (Sandbox Code Playgroud)

html javascript canvas

4
推荐指数
1
解决办法
3587
查看次数

标签 统计

javascript ×3

node.js ×2

websocket ×2

canvas ×1

html ×1