本教學介紹socket程式設計時使用的所有輔助函式,及其他輔助函式的埠和服務,元網路位元組順序的教學。
write函式嘗試寫入n位元組位元組從緩衝區buf中相關的檔案開啟檔案描述符,fildes指向。
也可以使用send()函式將資料傳送到另一個進程。
#include <unistd.h> int write(int fildes, const void *buf, int nbyte); |
成功完成後,write()返回fildes的檔案實際寫入的位元組數。這個數位是永遠不會大於nbyte。否則,則返回-1
fildes: 是socket函式返回一個通訊端描述符。
buf 要傳送的資料是一個指標。
nbyte 是要寫入的位元組數。如果nbyte是0,write()將返回0,如果該檔案是一個普通檔案,沒有其他的結果,否則,結果是不確定的。
讀函式試圖開啟檔案描述符,fildes的相關的檔案,到緩衝區buf指向讀nbyte位元組。
還可以使用的recv()函式來讀取資料到另一個進程。
#include <unistd.h> int read(int fildes, const void *buf, int nbyte); |
成功完成後,write()返回fildes檔案實際寫入的位元組數。這個數位是永遠不會大於nbyte。否則,則返回-1。
fildes: 是socket函式返回一個通訊端描述符。
buf 緩衝區讀取資訊..
nbyte 是要讀取的位元組數。
fork函式建立一個新的進程。新進程稱為子進程呼叫進程(父進程)的完全相同的副本。子進程繼承父進程的許多屬性。
#include <sys/types.h> #include <unistd.h> int fork(void); |
成功完成後,fork()返回0到子進程和父進程返回子進程的進程ID。否則返回-1給父進程,沒有子進程被建立並設定errno以指示錯誤。
void: 不需要任何引數是必需。
bzero 函式的地方nbyte空位元組的字串s。這個函式將被用於設定具有空值的所有通訊端結構。
void bzero(void *s, int nbyte); |
此函式不返回任何東西(無返回值)。
s: 指定字串必須用空位元組填充。這將是一個指向通訊端的結構變數
nbyte: 指定使用null值填充位元組的數量。這將是通訊端結構的大小。
bcmp 函式比較位元組字串s1的針對位元組字串s2。兩個字串都被假定為nbyte位元組長。
int bcmp(const void *s1, const void *s2, int nbyte); |
此功能如果兩個字串相同,則返回0,否則為1。 nbyte為0時bcmp()函式總是返回0 。
s1: 指定要比較的第一個字串。
s2: 指定要比較的第二個字串。
nbyte: 指定的位元組數進行比較。
bcopy 函式複製nbyte 個位元組字串s1到字串s2。正確處理重疊的字串。
void bcopy(const void *s1, void *s2, int nbyte); |
此函式不返回任何值。
s1: 指定的源字串。
s2: 指定目標字串。
nbyte: 指定要複製的位元組數。
memset函式也可以用來設定結構變數,並以同樣的方式作為 bzero.
void *memset(void *s, int c, int nbyte); |
這個函式返回一個void指標,其實設定記憶體的指標,需要相應地釋放。
s: 指定源設定。
c: 指定要設定的字元nbyte地方..
nbyte: 指定的位元組數進行設定。