2016-12-17 7 views
1

私のlaravelプロジェクトでsocket ioを使用していますが、socket.jsファイルの切断イベントに関するリクエストに問題があります。ソケットioでノード要求ライブラリを使用中にエラーが発生しました

私は自分のコードをデバッグしましたが、エラーはリクエストライブラリにあります。

Socket.js

var app = require('express')(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server); 
var redis = require('redis'); 

server.listen(5000); 

io.on('connection', function (socket) { 
    console.log("new client connected " + socket.id); 

    socket.on('disconnect', function() { 
     var socket_id = socket.id; 
     console.log('client disconnected :C '+socket_id); 

     var request = require('request'); 
     var url_request = 'http://example.com/play-session/close?socket_id=' + socket_id; 
     request(url_request, function (error, response, body) { 
      if (!error && response.statusCode == 200) { 
       console.log('session closed '+socket_id); 
      } 
     }); 
    }); 
}); 

エラー:

SyntaxError: Error parsing /var/www/example.com/public_html/node_modules/aws4/package.json: Unexpected token < 
    at Object.parse (native) 
    at readPackage (module.js:113:52) 
    at tryPackage (module.js:123:13) 
    at Function.Module._findPath (module.js:190:18) 
    at Function.Module._resolveFilename (module.js:336:25) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/var/www/example.com/public_html/node_modules/request/request.js:11:12) 
    at Module._compile (module.js:456:26) 

私は何が起こっているのか分かりません。私はすべての助けに感謝します、ありがとう。更新

、完全な発行修正:

私はこれでこの問題を修正:https://www.npmjs.com/package/request#unix-domain-socketsを、このようにその例をウッシング:すべての

Socket.js

var app = require('express')(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server); 
var redis = require('redis'); 
var request = require('request'); 

server.listen(5000); 

io.on('connection', function (socket) { 
    console.log("new client connected " + socket.id); 

    socket.on('disconnect', function() { 
     var socket_id = socket.id; 
     console.log('client disconnected :C '+socket_id); 

     var url_request = 'http://example.com/play-session/close?socket_id='+socket_id; 
     request.get(url_request); // this line fix it 
    }); 
}); 

感謝あなたの助けに。

+1

がaws4'が問題を引き起こしている 'のように見えます。再インストールしてみてください – Shaharyar

+0

私のサーバーにリクエストライブラリを再インストールしてみます。 –

+0

は '要求 'ではなく[' aws4'](https://www.npmjs.com/package/aws4) – Shaharyar

答えて

関連する問題