簡體   English   中英

客戶端在client.emit上斷開連接-Node.js

[英]Client Disconnecting on client.emit - Node.js

我已經為此工作了好幾天,並且使問題盡可能的簡單。

我只有一個按鈕,它將命令發送到我的node.js服務器,該服務器只是console.log記錄短語“測試”,還向客戶端發出信號以運行功能。

問題是客戶端正在斷開連接?! 但是,它不會在第二次嘗試時斷開連接。

客戶:

<button onclick="test()">Login</button>

var socket  = io.connect('http://54.213.92.113:8080');

function test(){
                    socket.emit('test');
                    }

socket.on('conf', function () {
                    alert("testing worked");
                    }

服務器:

var io = require('socket.io').listen(app);
io.sockets.on('connection', function(client) {

        client.on('test', function(){
        client.emit('conf);
        console.log("testing");
        });
});

這是我的日志。 同樣,該代碼似乎可以再次嘗試:

第一次嘗試:

info  - socket.io started
   debug - served static content /socket.io.js
   debug - client authorized
   info  - handshake authorized Egh72p-hOLFSpLh2CS7m
   debug - setting request GET /socket.io/1/websocket/Egh72p-hOLFSpLh2CS7m
   debug - set heartbeat interval for client Egh72p-hOLFSpLh2CS7m
   debug - client authorized for 
   debug - websocket writing 1::
   debug - websocket writing 5:::{"name":"conf"}
testing
   info  - transport end (socket end)
   debug - set close timeout for client Egh72p-hOLFSpLh2CS7m
   debug - cleared close timeout for client Egh72p-hOLFSpLh2CS7m
   debug - cleared heartbeat interval for client Egh72p-hOLFSpLh2CS7m
   debug - discarding transport
   debug - served static content /socket.io.js
   debug - client authorized
   info  - handshake authorized PCzh1CS-tze49XHaCS7n
   debug - setting request GET /socket.io/1/websocket/PCzh1CS-tze49XHaCS7n
   debug - set heartbeat interval for client PCzh1CS-tze49XHaCS7n
   debug - client authorized for 
   debug - websocket writing 1::

第二次嘗試后:

 info  - socket.io started
   debug - served static content /socket.io.js
   debug - client authorized
   info  - handshake authorized Egh72p-hOLFSpLh2CS7m
   debug - setting request GET /socket.io/1/websocket/Egh72p-hOLFSpLh2CS7m
   debug - set heartbeat interval for client Egh72p-hOLFSpLh2CS7m
   debug - client authorized for 
   debug - websocket writing 1::
   debug - websocket writing 5:::{"name":"conf"}
testing
   info  - transport end (socket end)
   debug - set close timeout for client Egh72p-hOLFSpLh2CS7m
   debug - cleared close timeout for client Egh72p-hOLFSpLh2CS7m
   debug - cleared heartbeat interval for client Egh72p-hOLFSpLh2CS7m
   debug - discarding transport
   debug - served static content /socket.io.js
   debug - client authorized
   info  - handshake authorized PCzh1CS-tze49XHaCS7n
   debug - setting request GET /socket.io/1/websocket/PCzh1CS-tze49XHaCS7n
   debug - set heartbeat interval for client PCzh1CS-tze49XHaCS7n
   debug - client authorized for 
   debug - websocket writing 1::
   debug - websocket writing 5:::{"name":"conf"}
testing

我已經研究了一段時間,卻一無所獲。 有誰知道為什么此代碼在第一次嘗試時不起作用? -僅在第一次嘗試后才會發出警報。

我在這里找到了解決方案: socket.io客戶端連接無法第二次建立

// in client
io.connect('host:port', { 'force new connection': true });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM