2016-06-21 8 views
0

私はセットアップSocket.io使用してHTTPSでのNode.jsサーバーがあります。ソケットサーバが実行されているが、クライアントは接続できない

var express = require('express'); 
var app = express(); 

app.use(express.static(__dirname + '/public')); 
var https = require('https'); 
var fs = require('fs'); 
var options = { 
    key: fs.readFileSync('commercial.key', 'utf8'), 
    cert: fs.readFileSync('commercial.crt', 'utf8'), 
    ca:  fs.readFileSync('ca_chain.crt', 'utf8') 
}; 
var server = https.createServer(options, app); 
server.listen(3000); 
var io = require('socket.io').listen(server); 

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

io.on('connection', function(client){ 
    //console.log('IO Connection'); 
    var socket_id = client.id; 

    console.log(socket_id + " connected"); 
}); 

このサーバを起動した後、それは罰金を実行しているし。クライアントはそのクライアントに接続できます。しかし、数時間後に新しいクライアントに接続することはできませんが、古いクライアント(以前に接続していたクライアント)は引き続きサーバーと対話できます。

私はちょうど約200 ccuを持っています。私はRAM、CPUのVPSをチェックしました。すべて正常です。私はまた、ログファイルをチェックし、何の誤りも発見しなかった。

Client Error

誰もが、サーバーの設定がtrueまたは任意の問題であることを私に言うことができますか?

答えて

0

のための別々のポートを定義する必要があり、私は理由を知らないが、ファイルの設定を/ etc/security/limitsのように変更するときは:

* soft nofile 65535 
* hard nofile 65535 
root soft nofile 65535 
root hard nofile 65535 

サーバーが正常に動作しているようです。私は私のような問題を抱えている人に投稿しましたが、誰かが説明をしてくれれば私を助けてください。

0

あなたは何日かの研究の後socket.io

var socket_con = http.createServer(function(socket) { 

    console.log("socket created====="); 
    console.log(socket); 
    }).listen(8000); 

//ソケットのタイムアウト設定

var mobileData ={ log: true , "close timeout": 120 , "heartbeat timeout": 120 , "heartbeat interval": 30 , "transports": ["websocket"],'disconnected':true}; 
//ソケットdefination

io.listen(socket_con, mobileData).on('connection', function(client){ 
    //console.log('IO Connection'); 
    var socket_id = client.id; 

    console.log(socket_id + " connected"); 
}); 
+0

だから、httpも必要ですか? socket.ioに別のポートを定義する必要がある理由を説明してください。なぜなら、セットアップが間違っていると、しばらくサーバーを正常に動作させることができないからです。 とにかく、ありがとうございます。私はあなたの解決策を試し、すぐにフィードバックを返します。 – Fuyuba

関連する問題