這兩個函數類似于標準的read和write函數,不過需要一個額外的參數。
#include <sys/socket.h>ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);返回:讀入或寫出字節數——成功;-1——出錯
recv和send的前3個參數等同于read和write的3個參數。flags參數的值或為0,或為下圖列出的一個或多個常值的邏輯或。
flags | 說明 | recv | send |
MSG_DONTROUTE MSG_DONTWAIT MSG_OOB MSG_PEEK MSG_WAITALL | 繞過路由表查找 僅本次操作非阻塞 發送或接收帶外數據 窺看外來消息(recv和recvfrom) 等待所有數據(nbytes) | ![]() ![]() ![]() ![]() | ![]() ![]() ![]() |
|
新聞熱點
疑難解答