2016-04-26 8 views
0

私は無知か実際の問題がここにあります。私はNode.jsのでhttpサーバをホスティングしている、と私はエラーSocket.io "リスナーは定義されていません"

C:\Users\Xander\Desktop\Website>node ./processes.js 
C:\Users\Xander\Desktop\Website\node_modules\socket.io\node_modules\engine.io\lib\server.js: 
    var listeners = server.listeners('request').slice(0); 
         ^

TypeError: Cannot read property 'listeners' of undefined 
    at Server.attach 
(C:\Users\Xander\Desktop\Website\node_modules\socket.io\node_modules\engine.io\lib\server.js:423:25) 
    at Function.attach (C:\Users\Xander\Desktop\Website\node_modules\socket.io\node_modules\engine.io\lib\engine.io.js:124:10) 
    at Server.listen.Server.attach (C:\Users\Xander\Desktop\Website\node_modules\socket.io\lib\index.js:228:21) 
    at Object.<anonymous> (C:\Users\Xander\Desktop\Website\processes.js:8:21) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Function.Module.runMain (module.js:441:10) 
    at startup (node.js:139:18) 

は、このエラーが発生する前に、ちょうど最近思い付いていない取得、サーバーを実行しているAPON。私はsocket.ioを再インストールし、個人的にファイルを編集しようとしました。しかし、役に立たない。毎回失敗します。だから私は喜んでこれを修正する方法のアドバイスを取るでしょう。

var io = require('socket.io').listen(server); 

server定義されていません:そのは、あなたのコード行では

//Vars 
var http  = require('http'); 
var express = require("express"); 
var app  = express(); 
var path  = require("path"); 
var connect = require("connect"); 
var io = require('socket.io').listen(server); 
var socket  = io.listen(server); 

//Defined port 

const PORT = 8080; 

//Connection handler 

function handleRequest(request, response){ 
response.end(request.url); 
}; 

var server = http.createServer(handleRequest); 

//Log all connections made 


//Show .html file 

app.get('/',function(req,res){ 
res.sendFile(path.join(__dirname+'/index.html')); 
}); 

//Port to listen to 

app.listen(8080); 
+0

完全なスタックトレースを共有できますか?あなたのファイルの1つで何かが変わったためにエラーが発生した可能性がありますか? – winhowes

+0

私は関連するコードの文脈をもっと見る必要があると思います。おそらく、このモジュールがどのように読み込まれ呼び出されたのでしょうか?あなたが間違ったタイプのオブジェクトをsocket.ioコンストラクタに渡していると思われます。それはサーバーオブジェクトでなければなりませんが、おそらくそうではありません。そのコードを表示してください。 – jfriend00

+0

ソケットがprocesses.jsで使用されていますので、ここにコードを記述します。 –

答えて

0

を使用しているどのように

が...お時間をいただき、ありがとうございます。


おそらく、この変更することができます。これに

app.listen(8080); 

var server = app.listen(8080); 
var io = require('socket.io').listen(server); 

をそして、あまりにも早くあなたのコードであり、これらを取り除く:

var io = require('socket.io').listen(server); 
var socket  = io.listen(server); 

そして、あなたがusinしているので、これらも削除してくださいg Expressをサーバーとして使用します。

function handleRequest(request, response){ 
    response.end(request.url); 
}; 

var server = http.createServer(handleRequest); 
関連する問題