
- Unix Socket 教程
- Unix Socket - 首頁
- Unix Socket - 什麼是 Socket?
- Unix Socket - 網路地址
- Unix Socket - 網路主機名
- Unix Socket - 客戶端伺服器模型
- Unix Socket - 結構體
- Unix Socket - 埠和服務
- Unix Socket - 網路位元組序
- Unix Socket - IP 地址函式
- Unix Socket - 核心函式
- Unix Socket - 輔助函式
- Unix Socket - 伺服器示例
- Unix Socket - 客戶端示例
- Unix Socket - 總結
- Unix Socket 有用資源
- Unix Socket - 快速指南
- Unix Socket - 有用資源
- Unix Socket - 討論
Unix Socket - 輔助函式
本章描述了在進行套接字程式設計時使用的所有輔助函式。其他輔助函式在以下章節中進行了描述:埠和服務以及網路位元組序。
write 函式
write 函式嘗試將 buf 指向的緩衝區中的 nbyte 個位元組寫入與開啟的檔案描述符 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 並且如果檔案是常規檔案則沒有其他結果;否則,結果未指定。
read 函式
read 函式嘗試從與緩衝區 fildes 關聯的檔案中讀取 nbyte 個位元組,並將這些位元組讀入 buf 指向的緩衝區。
您還可以使用 recv() 函式讀取資料到另一個程序。
#include <unistd.h> int read(int fildes, const void *buf, int nbyte);
成功完成時,write() 返回實際寫入與 fildes 關聯的檔案的位元組數。此數字絕不超過 nbyte。否則,返回 -1。
引數
fildes - 它是由 socket 函式返回的套接字描述符。
buf - 讀取資訊的緩衝區。
nbyte - 要讀取的位元組數。
fork 函式
fork 函式建立一個新的程序。新程序稱為子程序,它將是呼叫程序(父程序)的精確副本。子程序繼承了父程序的許多屬性。
#include <sys/types.h> #include <unistd.h> int fork(void);
成功完成時,fork() 返回 0 給子程序,並將子程序的程序 ID 返回給父程序。否則,返回 -1 給父程序,不建立子程序,並且 errno 被設定為指示錯誤。
引數
void - 表示不需要引數。
bzero 函式
bzero 函式在字串 s 中放置 nbyte 個空位元組。此函式用於將所有套接字結構設定為 null 值。
void bzero(void *s, int nbyte);
此函式不返回任何內容。
引數
s - 指定要填充空位元組的字串。這將是指向套接字結構變數的指標。
nbyte - 指定要填充空值的位元組數。這將是套接字結構的大小。
bcmp 函式
bcmp 函式將位元組字串 s1 與位元組字串 s2 進行比較。假設兩個字串都長 nbyte 個位元組。
int bcmp(const void *s1, const void *s2, int nbyte);
如果兩個字串相同,則此函式返回 0,否則返回 1。當 nbyte 為 0 時,bcmp() 函式始終返回 0。
引數
s1 - 指定要比較的第一個字串。
s2 - 指定要比較的第二個字串。
nbyte - 指定要比較的位元組數。
bcopy 函式
bcopy 函式將 nbyte 個位元組從字串 s1 複製到字串 s2。正確處理重疊字串。
void bcopy(const void *s1, void *s2, int nbyte);
此函式不返回任何內容。
引數
s1 - 指定源字串。
s2v - 指定目標字串。
nbyte - 指定要複製的位元組數。
memset 函式
memset 函式也用於以與 bzero 相同的方式設定結構變數。請檢視下面給出的語法。
void *memset(void *s, int c, int nbyte);
此函式返回指向 void 的指標;實際上,是指向已設定記憶體的指標,您需要根據需要對其進行強制轉換。
引數
s - 指定要設定的源。
c - 指定要在 nbyte 個位置上設定的字元。
nbyte - 指定要設定的位元組數。