socket recv 函式返回0的一種情況

2021-08-02 20:36:18 字數 292 閱讀 4354

假設使用socket基於tcp通訊協議進行c/s通訊程式設計,客服端已經成功與服務端建立tcp連線,並且可以正常進行收發資料。

當一段時間後,服務端的程式如果呼叫closesocket(sclient);wsacleanup();函式關閉socket, 

那麼客戶端的recv()將會返回0;

如果服務端沒有呼叫closesocket(sclient);而只呼叫wsacleanup();或直接關閉程式,

那麼客戶端的recv()將會返回-1(socket_error)。

以上結果在區域網經過實際驗證。

函式失敗返回 C語言函式返回1和返回0區別?

基本上,沒有人會將大段的c語言 全部塞入 main 函式,更好的做法是按照復用率高,耦合性低的原則,盡可能的將 拆分不同的功能模組,並封裝成函式。c語言 的組合千變萬化,因此函式的功能可能會比較複雜,不同的輸入,常常產生不同的輸出結果。不同的輸入,常常產生不同的輸出結果 c語言函式的返回值 c語言函...

fread總返回0的問題

size t fread void ptr,size t size,size t nmemb,file stream 這個函式以前一直沒理解為什麼 size t size,size t nmemb引數來確定讀取緩衝區的大小,我開始以為兩個可以互換,而且在有些場合互換確實也沒問題,直到今天碰到了開啟乙...

VB RegOpenKey 返回值不為0

今天遇到個問題,用regopenkey 函式,讀取hkey local machine software clients startmenuinternet下面的東西,在vb編輯器裡面除錯的時候正常,生成exe之後就讀取不到了,返回值不為0。原來的 是 ret regopenkey hkey loc...