當客戶端連線關閉時,伺服器select()不會阻塞,然後一直分發讀就緒操作。
public
static
void
main
(string[
] args)
throws ioexception
else
if(selectionkey.
isreadable()
)catch
(ioexception e)
if(count >0)
}}catch
(exception e)})
;// 清除
selectionkeys.
clear()
;}catch
(ioexception e)}}
}
當客戶端斷開連線後,client.read(buffer);會出現異常,所以需要手動的關閉這個長鏈結。
參考
Python 實現sftp客戶端(連線遠端伺服器)
import paramiko transport paramiko.transport 106.15.88.182 22 獲取transport例項 transport.connect username root password 123456 建立連線 建立sftp物件,sftpclient是定...
NIO客戶端主要建立過程
nio客戶端主要建立過程 socketchannel clientchannel socketchannel.open 步驟二 設定socketchannel為非阻塞模式,同時設定客戶端連線的tcp引數,示例 如下 clientchannel.configureblocking false sock...
qt TCP客戶端判斷服務端關閉連線
一 客戶端判斷服務端是不是已經關閉的簡單方法就是傳送傳送資料,看返回是不是有錯誤 二 客戶端建立連線 void mainwindow btn connect server void mainwindow connected success 二 判斷部分 void mainwindow btn ser...