【发布时间】:2018-12-13 16:28:15
【问题描述】:
我正在使用带有 ASP.NET Core 2.1 的 signalR 从服务器到客户端或客户端到服务器发送和接收消息,即使我还使用流式通道从客户端到服务器发送大于 30kb 的长消息。
但现在我想知道是否可以使用语音或视频在服务器和客户端之间进行通信?
我检查了 WebRTC 是否提供了满足我要求的解决方案,但由于我已经在使用 SignalR,所以我正在寻找使用 SignalR 进行 websocket 传输的解决方案。
【问题讨论】:
-
我觉得要看数据是怎么发到服务器的,你发的是什么数据类型?
-
@MasterYoda 现在用于文本消息通信是 json 格式和 base64 字符串块中的大数据。
-
看看this link你可能需要结合使用WebRTC和SignalR来实现这个。您需要 WebRTC 来共享媒体流和 SignalR 以将报价发送到对等设备。我不相信您可以仅使用 SignalR 来做到这一点。请记住,SignalR 旨在向设备发送简单信号,而不是真正用于发送复杂消息。
-
但是传输类型呢?由于我将 SignalR 用于 websocket,而 WebRTC 也使用 websocket,那么我需要建立两个连接吗?一种使用 SignalR,另一种使用 WebRTC。有可能吗?
-
我认为您为 WebRTC 使用哪种传输方法并不重要,您可以尝试将 Websockets 用于 WebRTC 和 SignalR。 SignalR 非常好,因为如果它无法使用分配的传输建立连接,您可以指定要使用的回退传输,例如如果 websockets 失败,请改用服务器发送的事件或长轮询。不过,您需要检查您的浏览器是否支持这些传输。
标签: asp.net-core signalr asp.net-core-signalr