Note that there are some explanatory texts on larger screens.

plurals
  1. POUsing SignalR as service layer for WebRTC
    text
    copied!<p>This is a follow-up to <a href="https://stackoverflow.com/questions/13960924/troubleshooting-webrtc-code">another question</a> I asked, but with more precise information.</p> <p>I have two fundamentally identical web pages that demo WebRTC, one using XSockets as the backend signaling layer, and one using SignalR as the backend signaling layer.</p> <p>The two backends are fundamentally identical, differing only at the points where they (obviously) have different ways of sending data down to the client. Similarly, the TypeScript/JavaScript WebRTC code on the two clients is completely identical, as I've abstracted out the signaling layer.</p> <p>The problem is that the XSockets site works consistently, while the SignalR site fails (mostly consistently, though not completely). Usually it fails while calling <code>peerConnection.setLocalDescription()</code>, but it can also fail silently; or it can (sometimes) even work.</p> <p>You can see the two different pages in operation here:</p> <p>XSockets site: <a href="http://xsockets.demo.alanta.com/" rel="nofollow noreferrer">http://xsockets.demo.alanta.com/</a></p> <p>SignalR site: <a href="http://signalr.demo.alanta.com/" rel="nofollow noreferrer">http://signalr.demo.alanta.com/</a></p> <p>The source code for both is at <a href="https://bitbucket.org/smithkl42/xsockets.webrtc" rel="nofollow noreferrer">https://bitbucket.org/smithkl42/xsockets.webrtc</a>, with the XSockets version on the <code>xsockets</code> branch, and the SignalR version on the <code>signalr</code> branch.</p> <p>So my question is: does anybody know of any reason why using one signal layer instead of another would make any difference to WebRTC? For instance, does one or the other send back Unicode strings instead of ANSI? Or have I misdiagnosed the problem, and the real difference is elsewhere?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload