gpt4 book ai didi

c# - 我们可以在 WebForms 中将 SignalR 与 WebRTC 视频通话一起使用吗

转载 作者:行者123 更新时间:2023-11-30 16:57:21 25 4
gpt4 key购买 nike

我是新手,可能比较笨。我想在我的 ASP.NET WebForms 项目中为注册用户和在线用户添加使用 SignalR 的 WebRTC 视频通话功能。我试图搜索一个多星期的时间来寻找在 Webforms 中将 SignalR 与 WebRTC 结合使用的演练/示例,但我总是在 MVC 中找到示例。我们不能在 WebForms 中将 SignalR 与 WebRTC 一起使用吗?如果我们可以使用,那么任何人都可以提供/帮助我提供一个非常简单和基本的演练/示例。

最佳答案

逻辑与 signalR tutorial 非常相似.除了您的消息是 WebRTC 需要通信才能连接的消息。

Here is an example I wrote up .它向所有通过 signalR 集线器连接的客户端进行广播。但是,将其设置为仅特定用户与其他用户通信的位置非常简单。 Here is a more flushed out example but it uses MVC .

客户端完成的基本信令逻辑:

<script type="text/javascript">
var signal = $.connection.webRTCHub;
var ready = false;
//set our client handler
signal.client.broadcastMessage = function (from, message) {
//handle your message that you received
}

//start the hub for long polling so it does not close
$.connection.hub.start({ transport: ['longPolling'] }).done(function () {
ready = true;
});
//only send a message when we are ready
var sendMessage = function (message) {
if (!ready)
setTimeout(sendMessage, 100, message);
else
signal.server.send(name, message);
}

</script>

转发消息的基本集线器类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;

namespace SignalRWebRTCExample
{
public class WebRTCHub : Hub
{
//executed from javascript side via signal.server.send(name, message);
public void Send(string from, string message)
{
//Code executed client side, aka, makes message available to client
Clients.All.broadcastMessage(from, message);
}
}
}

启动信号器的基本启动类

using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(SignalRWebRTCExample.Startup))]

namespace SignalRWebRTCExample
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}

免责声明:这非常粗糙,但示例“有效”(流在客户端之间发送)。此代码未优化且不理想。 SignalR 中有许多很棒的功能未被利用,这些功能可能会使它变得更好、更高效。

关于c# - 我们可以在 WebForms 中将 SignalR 与 WebRTC 视频通话一起使用吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26741096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com