1. 程式人生 > >網路程式設計read, write, recv, send函式返回值

網路程式設計read, write, recv, send函式返回值

1.1    read

>0 : 正常情況下返回讀入的位元組數,read 讀取資料時有水位控制,當可讀資料大於水位時,就返回。

=0 : 當關閉socket連線時且緩衝區中沒資料可讀時,返回0;當檔案操作時,讀取到檔案尾EOF,也返回0

<0 :當read 失敗時,可能由於中斷引起,可以通過errno 檢視原因

其man幫助如下:

1.2    write

>0 : 正常情況下返回寫入的位元組數,阻塞的write呼叫將檢測寫緩衝區的大小,當寫緩衝大於write低水位時,就寫入成功返回。

=0 : 當write寫入的描述符正確,且寫入字元個數count == 0,時,write可能返回0,errno為0,也表示write呼叫成功

<0 : 表示write寫入失敗,可以通過errno檢視原因

其man幫助如下:

1.3    recv

和read類似,專門用於socket讀取資料;可以看成是網路程式設計中高階的read函式,可通過flags引數指定讀取選項。


1.4    send

和write類似,專門用於socket傳送資料;可以看成是網路程式設計中高階的write函式,可通過flags引數指定讀取選項。