? 亚洲情A成黄在线观看动漫尤物,91亚洲自偷手机在线观看
聯(lián)系我們

給我們留言

聯(lián)系我們

地址:福建省晉江市青陽街道洪山路國際工業(yè)設計園納金網(wǎng)

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當前位置:主頁 > 3D教程 > 圖文教程

UE4 FSocket client客戶端如何檢測與server服務端斷開

來源: 52vr | 責任編輯:傳說的落葉 | 發(fā)布時間: 2019-06-11 08:32 | 瀏覽量:

 

目前FScoket無法做到感知服務端關閉tcp鏈接,要做到只能通過兩種其他方式:

1,使用BSD socket(建議使用non-blocking mode,因為這樣方便終止接收線程);

2,客戶端發(fā)送心跳包給服務端,如果沒有得到回應則認為關閉。

 

下面方法僅適用于客戶端自己關閉連接,如果是服務端關閉是沒法感知的

  1. if (Socket->GetConnectionState() != SCS_Connected)  
  2. {  
  3.     // Socket disconnected   
  4. }  
  5. else  
  6. {  
  7.     if (Socket->HasPendingData(Size))  
  8.     {  
  9.         Socket->Recv(Data, MaxBuffer, BytesRead);  
  10.     }     
  11. }  

 

之前在answerhub上提了一個bug說明這個情況,但是得到的回復是讓我仔細檢查自己的代碼,說FSocket就是基于BSD實現(xiàn)的, 本來想直接貼代碼給他解釋下的,但是感覺麻煩不想折騰。


相關文章
網(wǎng)友評論

您需要登錄后才可以發(fā)帖 登錄 | 立即注冊

關閉

全部評論:0條

推薦
熱門