使用WebRTC将数据发送到服务器?

时间:2016-06-04 01:15:41

标签: javascript networking webrtc

我想使用RTCDataChannel在浏览器和服务器之间建立通信链接,并传达数据。

由于我已经知道服务器的IP和端口,我认为我不需要信令服务器。

我的服务器正在侦听端口8000(localhost)以获取传入的UDP数据包,我希望能够发送一个简单的“hello”#39;使用RTCDataChannel从浏览器向服务器发送消息,地址为localhost:8000

这是我到目前为止所提出的,

var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection ||
        window.webkitRTCPeerConnection;

var conn = new RTCPeerConnection(null, {optional: [{RtpDataChannels: true}]});
conn.createOffer().then(function(desc)
                        {
                            console.log('offer: ', desc);
                            console.log(desc.sdp);
                            var sdp =
                            "v=0\n" +
                            "o=- 3796159382343068508 2 IN IP4 127.0.0.1\n" +
                            "s=-\n"+
                            "t=0 0\n"+
                            "a=msid-semantic: WMS\n"+
                            "m=application 8000 DTLS/SCTP 8000\n" +
                            "c=IN IP4 0.0.0.0\n"+
                            "b=AS:30\n"+
                            "a=ice-ufrag:35DwSa/DJYutqkxx\n" +
                            "a=ice-pwd:SidH+lMhnJt/SSLZlbPjANGw\n"+
                            "a=fingerprint:sha-256 A2:4B:24:23:4D:C9:2B:68:35:9B:30:7B:44:C9:11:91:35:07:49:67:24:F0:14:84:58:EA:1B:F1:72:B9:89:24\n"
                            +"a=setup:active\n"+
                            "a=mid:data\n"+
                            "a=sctpmap:8000 webrtc-datachannel 8000\n";

                            console.log("Final sdp: ", sdp);

                            desc.sdp = sdp;



                            conn.setRemoteDescription(desc, function(result)
                            {
                                console.log("Success", result);
                                chan = conn.createDataChannel("sendDataChannel", {reliable: false});
                                chan.send("yo");

                            }, function(error)
                            {
                                console.log("Error: " , error);
                            })

                        });

运行此命令时,我在控制台中收到以下错误:

  

错误:DOMException:无法设置远程商品sdp:会话错误   代码:ERROR_CONTENT。会话错误说明:无法设置远程   数据描述发送参数。

我需要改变什么/我做错了什么才能让它发挥作用?

0 个答案:

没有答案