tcp連線檢測及重連

2021-08-10 05:26:15 字數 747 閱讀 1754

public connectfuture niosocketconnector.connect(socketaddress remoteaddress, ...)
mina的客戶端tcp連線大致方法。

該方法返回connectfuture,用以判斷連線成功與否等。

connectfuture.awaituninterruptibly()
此方法為同步無限等待連線,如下。

/**

* */

public iofuture awaituninterruptibly() catch (interruptedexception ie)

return

this;

}

一般情況呼叫此方法即可,判斷是否連線成功,或者失敗則重試。

按照此思路,如果是多客戶端同時連線需要,比如多程序連線需求,則需要多個執行緒管理不同的連線, 或者只能乙個乙個連線等待。

connectfuture.isdone()
/**

* returns if the asynchronous operation is completed.

*/boolean isdone();

另外種非同步判斷連線是否成功,如上所示。此方法判斷非同步操作是否完成。借助它當需要管理多個客戶端連線可以在乙個執行緒裡面同時判斷處理。

TCP連線及斷連

三次握手three wayhandshake liucaixia 乙個虛擬連線的建立是通過三次握手來實現的 1.client syn server 假如client和server通訊.當client要和server通訊時,client首先向server發乙個syn synchronize 標記的包,...

TCP自動重連

每2s發一次心跳包 public thread thread public boolean threadrunning true 活動銷毀置為false private boolean islogined false 啟動執行緒 thread new thread tpcconnectcheckin...

TCP斷線重連

struct sockaddr in tempsadd tempsadd.sin family af inet tempsadd.sin port htons m serverport tempsadd.sin addr.s addr inet addr m serverip.c str if 1 ...