2016-05-12 2 views
0

Ich muss eine Socket-Anfrage von der Datei bootstrap.js in Segeln aufrufen. Die Datei bootstrap.js überprüft, ob eine Spiel-Engine eine Datei aktualisiert hat. Wenn dies der Fall ist, muss eine Nachricht mit einigen aktualisierten Daten über den Socket an eine bestimmte Route gesendet werden, die "/ update" genannt wird, z.Hinzufügen einer Websocket "put" Anfrage in der Datei bootstrap.js in den Segeln: kann nicht gefunden

io.socket.put('/update', {history:{sessions:[1,2,3,4]}},function gotResponse(body, response) { 
    console.log('Server sending request ot server '); 
}) 

Das Problem ist, dass es mir sagt, dass io nicht erkannt wird. Ich versuchte npm installieren für beide sails.io.js und socket.io-Client und dann schreiben zu tun:

var io = require('sails.io.js')(require('socket.io-client')); 

an der Spitze. Leider gibt es mir die folgende Fehlermeldung:

C:\Users\Evolver\Documents\programming\pipegame\game6\node_modules\socket.io-client\lib\url.js:29 
if (null == uri) uri = loc.protocol + '//' + loc.host; 
         ^
TypeError: Cannot read property 'protocol' of undefined 
at url (C:\Users\Evolver\Documents\programming\pipegame\game6\node_modules\socket.io-client\lib\url.js:29:29) 
at lookup (C:\Users\Evolver\Documents\programming\pipegame\game6\node_modules\socket.io-client\lib\index.js:44:16) 
at goAheadAndActuallyConnect (C:\Users\Evolver\Documents\programming\pipegame\game6\node_modules\sails.io.js\sails.io.js:835:21) 
at selfInvoking (C:\Users\Evolver\Documents\programming\pipegame\game6\node_modules\sails.io.js\sails.io.js:812:18) 
at SailsSocket.SailsIOClient.SailsSocket._connect (C:\Users\Evolver\Documents\programming\pipegame\game6\node_modules\sails.io.js\sails.io.js:831:9) 
at null._onTimeout (C:\Users\Evolver\Documents\programming\pipegame\game6\node_modules\sails.io.js\sails.io.js:1463:17) 
at Timer.listOnTimeout (timers.js:92:15) 

Jede Idee?

Antwort

0

Ok. Es funktioniert jetzt, wenn npm Installation für socket.io-client und sails.io.js getan worden ist, wenn ich genau das folgende tue:

var socketIOClient = require('socket.io-client'); 
var sailsIOClient = require('sails.io.js'); 

// Instantiate the socket client (`io`) 
var io = sailsIOClient(socketIOClient); 
io.sails.url = 'http://localhost:1337'; 

// then I send something via my socket 
io.socket.put('/update', {history:{sessions:[1,2,3,4]}},function gotResponse(body, response) { 
        console.log('Server sending request ot server '); 
       })