我想使用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。会话错误说明:无法设置远程 数据描述发送参数。
我需要改变什么/我做错了什么才能让它发挥作用?