这是我提出的另一个问题的后续,但提供了更准确的信息。
我有两个基本相同的网页来演示 WebRTC,一个使用 XSockets 作为后端信号层,一个使用 SignalR 作为后端信号层。
这两个后端基本上是相同的,不同之处仅在于它们(显然)具有不同的方式将数据发送到客户端。同样,两个客户端上的 TypeScript/JavaScript WebRTC 代码完全相同,因为我已经抽象出信号层。
问题是 XSockets 站点始终如一地工作,而 SignalR 站点却失败了(大部分一致,但不完全)。通常调用时会失败peerConnection.setLocalDescription()
,但也可以静默失败;或者它(有时)甚至可以工作。
您可以在这里看到两个不同的页面在运行:
XSockets 站点:http: //xsockets.demo.alanta.com/
SignalR 网站:http ://signalr.demo.alanta.com/
两者的源代码都在https://bitbucket.org/smithkl42/xsockets.webrtc,XSockets版本在分支上xsockets
,SignalR 版本在signalr
分支上。
所以我的问题是:有人知道为什么使用一个信号层而不是另一个信号层会对 WebRTC 产生任何影响吗?例如,是否其中一个或另一个发回 Unicode 字符串而不是 ANSI?还是我误诊了问题,真正的区别在其他地方?