? 不见星空槿晓婷1080P下载,欧美一区二区精彩视频,亚洲av日韩精品久久久久久久
聯(lián)系我們

給我們留言

聯(lián)系我們

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

郵箱:info@narkii.com

電話:0595-82682267

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

當(dāng)前位置:主頁 > 3D教程 > 圖文教程

UE4 FSocket client客戶端如何檢測(cè)與server服務(wù)端斷開

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

 

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

1,使用BSD socket(建議使用non-blocking mode,因?yàn)檫@樣方便終止接收線程);

2,客戶端發(fā)送心跳包給服務(wù)端,如果沒有得到回應(yīng)則認(rèn)為關(guān)閉。

 

下面方法僅適用于客戶端自己關(guān)閉連接,如果是服務(wù)端關(guān)閉是沒法感知的

  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上提了一個(gè)bug說明這個(gè)情況,但是得到的回復(fù)是讓我仔細(xì)檢查自己的代碼,說FSocket就是基于BSD實(shí)現(xiàn)的, 本來想直接貼代碼給他解釋下的,但是感覺麻煩不想折騰。


相關(guān)文章
網(wǎng)友評(píng)論

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

關(guān)閉

全部評(píng)論:0條

推薦
熱門