Comment résoudre RTCIceServer.url est obsolète! Utiliser des URL à la place?

J’ai installé nodejs avec soket.io. vouloir tester ce code sur le noeud serveur server.js

var static = require('node-static'); var http = require('http'); // Create a node-static server instance listening on port 8181 var file = new(static.Server)(); // We use the http module's createServer function and // use our instance of node-static to serve the files var app = http.createServer(function (req, res) { file.serve(req, res); }).listen(8181); // Use socket.io JavaScript library for real-time web applications var io = require('socket.io').listen(app); // Let's start managing connections... io.sockets.on('connection', function (socket){ // Handle 'message' messages socket.on('message', function (message) { log('S --> Got message: ', message); socket.broadcast.to(message.channel).emit('message', \ message.message); }); // Handle 'create or join' messages socket.on('create or join', function (channel) { var numClients = io.sockets.clients(channel).length; console.log('numclients = ' + numClients); // First client joining... if (numClients == 0){ socket.join(channel); socket.emit('created', channel); // Second client joining... } else if (numClients == 1) { // Inform initiator... io.sockets.in(channel).emit('remotePeerJoining', channel); // Let the new peer join channel socket.join(channel); socket.broadcast.to(channel).emit('broadcast: joined', 'S --> \ broadcast(): client ' + socket.id + ' joined channel ' \ + channel); } else { // max two clients console.log("Channel full!"); socket.emit('full', channel); } }); // Handle 'response' messages socket.on('response', function (response) { log('S --> Got response: ', response); // Just forward message to the other peer socket.broadcast.to(response.channel).emit('response', response.message); }); // Handle 'Bye' messages socket.on('Bye', function(channel){ // Notify other peer socket.broadcast.to(channel).emit('Bye'); // Close socket from server's side socket.disconnect(); }); // Handle 'Ack' messages socket.on('Ack', function () { console.log('Got an Ack!'); // Close socket from server's side socket.disconnect(); }); // Utility function used for remote logging function log(){ var array = [">>> "]; for (var i = 0; i < arguments.length; i++) { array.push(arguments[i]); } socket.emit('log', array); } }); 

et client.js

  // Get 
placeholder element from DOM div = document.getElementById('scratchPad'); // Connect to server var socket = io.connect(); // Ask channel name from user channel = prompt("Enter signaling channel name:"); if (channel !== "") { console.log('Trying to create or join channel: ', channel); // Send 'create or join' to the server socket.emit('create or join', channel); } // Handle 'created' message socket.on('created', function (channel){ console.log('channel ' + channel + ' has been created!'); console.log('This peer is the initiator...'); // Dynamically modify the HTML5 page div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) + ' --> Channel '+ channel + ' has been created!

'); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> This peer is the initiator...

'); }); // Handle 'full' message socket.on('full', function (channel){console.log('channel ' + channel + ' is too crowded! Cannot allow you to enter, sorry :-('); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) + ' --> channel ' + channel + ' is too crowded! Cannot allow you to enter sorry :-(

'); }); // Handle 'remotePeerJoining' message socket.on('remotePeerJoining', function (channel){ console.log('Request to join ' + channel); console.log('You are the initiator!'); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Message from server: request to join channel ' +channel + '

'); }); // Handle 'joined' message socket.on('joined', function (msg){ console.log('Message from server: ' + msg);div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Message from server:

'); div.insertAdjacentHTML( 'beforeEnd', '

' +msg + '

'); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Message from server:

'); div.insertAdjacentHTML( 'beforeEnd', '

' +msg + '

'); }); // Handle 'broadcast: joined' message socket.on('broadcast: joined', function (msg){ div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Broadcast message from server:

'); div.insertAdjacentHTML( 'beforeEnd', '

' +msg + '

'); console.log('Broadcast message from server: ' + msg); // Start chatting with remote peer: // 1. Get user's message var myMessage = prompt('Insert message to be sent to your peer:', ""); // 2. Send to remote peer (through server) socket.emit('message', { channel: channel, message: myMessage}); }); // Handle remote logging message from server socket.on('log', function (array){ console.log.apply(console, array); }); // Handle 'message' message socket.on('message', function (message){ console.log('Got message from other peer: ' + message); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Got message from other peer:

'); div.insertAdjacentHTML( 'beforeEnd', '

' +message + '

'); // Send back response message: // 1. Get response from user var myResponse = prompt('Send response to other peer:', ""); // 2. Send it to remote peer (through server) socket.emit('response', { channel: channel, message: myResponse}); }); // Handle 'response' message socket.on('response', function (response){ console.log('Got response from other peer: ' + response); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Got response from other peer:

'); div.insertAdjacentHTML( 'beforeEnd', '

' +response + '

'); // Keep on chatting var chatMessage = prompt('Keep on chatting. Write "Bye" to quit conversation', ""); // User wants to quit conversation: send 'Bye' to remote party if(chatMessage == "Bye"){ div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Sending "Bye" to server...

'); console.log('Sending "Bye" to server'); socket.emit('Bye', channel); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Going to disconnect...

'); console.log('Going to disconnect...'); // Disconnect from server socket.disconnect(); }else{ // Keep on going: send response back // to remote party (through server) socket.emit('response', { channel: channel, message: chatMessage}); } }); // Handle 'Bye' message socket.on('Bye', function (){ console.log('Got "Bye" from other peer! Going to disconnect...'); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Got "Bye" from other peer!

'); div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3) +' --> Sending "Ack" to server

'); // Send 'Ack' back to remote party (through server) console.log('Sending "Ack" to server'); socket.emit('Ack'); // Disconnect from server div.insertAdjacentHTML( 'beforeEnd', '

Time: ' +(performance.now() / 1000).toFixed(3)+' --> Going to disconnect...

'); console.log('Going to disconnect...'); socket.disconnect(); });

mais quand je fais noeud server.js pour demander j’ai cette erreur

  Missing error handler on 'socket'. TypeError: Cannot read property 'test' of undefined at Socket.  `at emitOne (events.js:77:13) `at Socket.emit (events.js:169:7) `at Socket.onevent (C:\Users\Desktop\exe\node_modules\socket.io\lib\so cket.js:335:8) at Socket.onpacket (C:\Users\Desktop\exe\node_modules\socket.io\lib\s ocket.js:295:12) at Client.ondecoded (C:\Users\Desktop\exe\node_modules\socket.io\lib\ client.js:193:14) at Decoder.Emitter.emit (C:\Users\Kiara\Desktop\exe4\node_modules\socket.io\ 

node_modules \ socket.io-parser \ node_modules \ composant-emitter \ index.js: 134: 20) at Decoder.add(C:\Users\Kiara\Desktop\exe4\node_modules\socket.io\node_modu les \ socket.io -parser \ index.js: 247: 12) at Client.ondata (C:\Users\Kiara\Desktop\exe4\node_modules\socket.io\lib\cli ent.js:175:18) sur emitOne (events.js : 77: 13)

et je reçois firefox

RTCIceServer.url est obsolète! Utilisez des URL à la place.

comment résoudre ?

(Je réponds à votre sujet, puisque le rest de votre question ne semblait pas avoir de lien).

L’avertissement de la console Web de Firefox "RTCIceServer.url is deprecated! Use urls instead" fait référence à votre configuration RTCPeerConnection.

Localisez un code similaire à ceci:

 var pc = new RTCPeerConnection({ iceServers: [{ url: 'stun:foo.com:1234' }] }); 

et le renommer en:

 var pc = new RTCPeerConnection({ iceServers: [{ urls: 'stun:foo.com:1234' }] }); ^ 

Le nom a changé, car chaque serveur de glace peut en fait disposer de plusieurs moyens (URL) dans lesquels il peut être localisé, en fonction de la topologie du réseau.