これは私が尋ねた別の質問のフォローアップですが、より正確な情報があります。
WebRTC をデモする 2 つの基本的に同一の Web ページがあります。1 つは XSockets をバックエンド シグナル レイヤーとして使用し、もう 1 つはバックエンド シグナル レイヤーとして SignalR を使用します。
2 つのバックエンドは基本的に同一であり、クライアントにデータを送信する方法が (明らかに) 異なる点のみが異なります。同様に、2 つのクライアントの TypeScript/JavaScript WebRTC コードは、シグナリング層を抽象化したので完全に同一です。
問題は、XSockets サイトが一貫して動作する一方で、SignalR サイトが失敗することです (完全ではありませんが、ほぼ一貫して)。通常、呼び出し中に失敗しますがpeerConnection.setLocalDescription()
、サイレントに失敗することもあります。または、(場合によっては)機能することもあります。
ここで、2 つの異なるページの動作を確認できます。
XSockets サイト: http://xsockets.demo.alanta.com/
SignalR サイト: http://signalr.demo.alanta.com/
両方のソース コードはhttps://bitbucket.org/smithkl42/xsockets.webrtcにあり、XSockets バージョンはxsockets
ブランチに、SignalR バージョンはsignalr
ブランチにあります。
だから私の質問は: ある信号層を別の層の代わりに使用すると WebRTC に違いが生じる理由を誰か知っていますか? たとえば、どちらか一方が ANSI ではなく Unicode 文字列を返しますか? それとも、私が問題を誤診したのでしょうか?本当の違いは別の場所にありますか?