मैं socket.io का उपयोग करके, node.js सर्वर सेट अप करने का प्रयास कर रहा हूं। जो समस्या मैं देख रहा हूं वह यह है कि मेरा सर्वर डिस्कनेक्ट हो रहा है + क्लाइंट को हर 25 सेकंड में दोबारा जोड़ना।node.js sockets.io प्रत्येक ~ 25 सेकंड (दिल की धड़कन से संबंधित) डिस्कनेक्टिंग
var io = require('socket.io').listen(5876);
io.sockets.on('connection', function (socket)
{
console.log("New connection established");
socket.on('disconnect', function()
{
console.log("A client has disconnected.");
});
}
मेरे क्लाइंट socket.io.js वितरण का उपयोग कर जोड़ता है:
यहाँ अपने सर्वर कोड है। जैसा कि मैं इसे समझता हूं (जाहिर तौर पर गलत तरीके से), मुझे अपने ग्राहक को कनेक्शन को सोचने से रोकने और इसे डिस्कनेक्ट करने से रोकने के लिए हर 15 सेकंड में "दिल की धड़कन" (":: 2" का संदेश) भेजने की आवश्यकता होती है। मूल रूप से:
<script src="socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:5876');
socket.on('connect', function(data)
{
console.log("Connected to server.");
setInterval(function() { socket.emit("::2"); console.log("sent heartbeat"); }, 15000); // schedule a heartbeat for every 15 seconds
});
</script>
लेकिन ग्राहक अभी भी काट दिया जा रहा है + हर 25 सेकंड (बहुत पहले 25 वीं-दूसरे टिक को छोड़कर) को पुन: कनेक्ट।
Node.js सर्वर कंसोल लॉग (कुछ पहले समान कनेक्ट/डिस्कनेक्ट चरणों काट हो सकता है के रूप में यह हर 25 सेकंड गूंज गया था) इस तरह दिखता है:
New connection established
debug - emitting heartbeat for client 652791160849839915
debug - websocket writing 2::
debug - set heartbeat timeout for client 652791160849839915
debug - got heartbeat packet
debug - cleared heartbeat timeout for client 652791160849839915
debug - set heartbeat interval for client 652791160849839915
info - transport end
debug - set close timeout for client 652791160849839915
debug - cleared close timeout for client 652791160849839915
debug - cleared heartbeat interval for client 652791160849839915
A client has disconnected.
debug - discarding transport
debug - client authorized
info - handshake authorized 5961067041159055274
debug - setting request GET /socket.io/1/websocket/5961067041159055274
debug - set heartbeat interval for client 5961067041159055274
debug - client authorized for
debug - websocket writing 1::
New connection established
मैं कैसे से अपने सर्वर बंद कर सकते हैं डिस्कनेक्ट करना + क्लाइंट को हर 25 सेकंड में दोबारा जोड़ना?
रोल करने के लिए है। अपने मैन्युअल दिल की धड़कन कॉल करने के बाद कनेक्शन और डिस्कनेक्शन घटनाओं की जांच करने का प्रयास करें। – f0x
क्या आपने कभी इसे हल किया है? \t मुझे सही समस्या है। मैं 0.8.7 तक गिर गया और अभी भी एक ही मुद्दा है। डीबग - क्लाइंट 3744936361854682925 जानकारी के लिए निकाल दिया गया दिल की धड़कन टाइमआउट - परिवहन अंत डीबग - क्लाइंट के लिए क्लोज़ टाइमआउट सेट करें 3744 936361854682925 डीबग - क्लाइंट के लिए क्लोज़ड क्लोजआउट टाइम 3744936361854682925 –
@PranoyC यहां एक कामकाज है जो काम कर सकता है: https://github.com/socketio/socket .io/issues/777 इसके अलावा, मैं हाल ही में socket.io के नवीनतम संस्करणों का उपयोग कर रहा हूं और किसी भी समस्या में नहीं चला है। – Josh1billion