Salve a tutti sto facendo un paio di esperimenti per implementare un sistema P2P.
Sto cercando di capire meglio come funziona il RTCPeerConnection, ma non riesco a farlo funzionare!!!
Spero che il codice risulti leggibbile!!!!
codice:// settaggi var signalingChannel; var myCandidate; var servers = { iceServers: [ {url: "stun:stun.l.google.com:19302"} ]}; var option = { optional: [{ RtpDataChannels: true }] }; var RTCPeerConnection = window.mozRTCPeerConnection || window.webkitRTCPeerConnection; var IceCandidate = window.mozRTCIceCandidate || window.RTCIceCandidate; var SessionDescription = window.mozRTCSessionDescription || window.RTCSessionDescription; var peer; var myCandidate; function init(){ signalingChannel = new SignalingChannel(); peer = new RTCPeerConnection(servers, option); peer.onicecandidate = function( evt ){ if( evt.candidate ){ console.log(evt.candidate); signalingChannel.send({ candidate : JSON.stringify(evt.candidate) }); } } peer.createOffer(function(offer) { peer.setLocalDescription(offer, function(evt){ console.log(evt); }, function(err){ console.log('err'); console.log(err); }); }, function(err) { console.log('errore'); console.log(err); } ); signalingChannel.onmessage = function( evt ){ var message = evt.data; if( message.sdp ){ peer.setRemoteDescription( new SessionDescription( message.sdp ), function(){ if( peer.remoteDescription.type == 'offer' ) peer.createAnswer( localDescrCreated, logError ); }, logError); } else peer.addIceCandidate(new IceCandidate( message.candidate )); } peer.oniceconnectionstatechange = function() { console.log(peer.iceConnectionState); }; peer.onopen = function(evt){ console.log(evt); } }; function localDescrCreated( desc ){ peer.setLocalDescription( desc, function(){ // risposta signalingChannel.send({ sdp : JSON.stringify(peer.localDescription) }); }, logError) } function logError( err ){ console.log( err ); }

Rispondi quotando
