簡體   English   中英

Socket.io - 客戶端斷開后手動重新連接

[英]Socket.io - Manual reconnect after client-side disconnect

我使用node.jssocket.io來創建實時Web應用程序。 我將給用戶完全控制套接字連接,如手動斷開和(重新)連接。

function socket_connect()
{
    console.log('func socket_connect');
    socket = io.connect('http://url/to/the/app');
}

function socket_reconnect()
{
    console.log('func socket_reconnect');
    socket_connect();
}

function socket_disconnect ()
{
    console.log('func socket_disconnect');
    if (socket) socket.disconnect();
}

在客戶端啟動時, socket_connect()函數工作正常,但在使用socket.disconnect() ,沒有新連接啟動。

您可以通過以下客戶端配置重新連接。

 // for socket.io version 1.0
io.connect(SERVER_IP,{'forceNew':true });

它現在可以使用socket.socket.reconnect()

function socket_connect()
{
    console.log('func socket_connect');
    socket = io.connect('http://url/to/the/app');
}

function socket_reconnect()
{
    console.log('func socket_reconnect');
    socket.socket.reconnect();
}

function socket_disconnect ()
{
    console.log('func socket_disconnect');
    if (socket) socket.disconnect();
}

相關: https//github.com/LearnBoost/socket.io-client/issues/251

如果您正在使用Socket.io 1.0,請嘗試使用套接字上的io管理器來處理手動斷開連接和重新連接。

// Connect to socket.io 
var socket = io.connect('url');

function manual_disconnect() {
   socket.io.disconnect();
}

function manual_reconnect() {
   socket.io.reconnect();
}

之后應該全部發出套接字上的reconnecting_attempt,重新連接,重新連接和連接的事件。

暫無
暫無

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

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