send 命令 linux,linux的send命令
linux下的send命令可用于基于連接的套接字,下面由學習啦小編為大家整理了linux的send命令的相關知識,希望對大家有幫助!
linux的send命令詳解
功能描述:發送消息,send只可用于基于連接的套接字,send 和 write唯一的不同點是標志的存在,當標志為0時,send等同于write。sendto 和 sendmsg既可用于無連接的套接字,也可用于基于連接的套接字。除了套接字設置為非阻塞模式,調用將會阻塞直到數據被發送完。
用法:
linux的send命令參數
sock:索引將要從其發送數據的套接字。
buf:指向將要發送數據的緩沖區。
len:以上緩沖區的長度。
flags:是以下零個或者多個標志的組合體,可通過or操作連在一起
MSG_DONTROUTE:不要使用網關來發送封包,只發送到直接聯網的主機。這個標志主要用于診斷或者路由程序。
MSG_DONTWAIT:操作不會被阻塞。
MSG_EOR:終止一個記錄。
MSG_MORE:調用者有更多的數據需要發送。
MSG_NOSIGNAL:當另一端終止連接時,請求在基于流的錯誤套接字上不要發送SIGPIPE信號。
MSG_OOB:發送out-of-band數據(需要優先處理的數據),同時現行協議必須支持此種操作。
to:指向存放接收端地址的區域,可以為NULL。
tolen:以上內存區的長度,可以為0。
msg:指向存放發送消息頭的內存緩沖,結構形態如下
struct msghdr {
void *msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
size_t msg_iovlen;
void *msg_control;
socklen_t msg_controllen;
int msg_flags;
};
可能用到的數據結構有
struct cmsghdr {
socklen_t cmsg_len;
int cmsg_level;
int cmsg_type;
};
總結
以上是生活随笔為你收集整理的send 命令 linux,linux的send命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NEON编程学习
- 下一篇: linux安装git并配置GitHub账