linux中read,write和recv,send的区别(转)
生活随笔
收集整理的這篇文章主要介紹了
linux中read,write和recv,send的区别(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、recv和send函數提供了和read和write差不多的功能。但是他們提供了第四個參數來控制讀寫操作.
int recv(int sockfd,void *buf,int len,int flags)
int send(int sockfd,void *buf,int len,int flags)
????前面的三個參數和read,write相同,第四個參數能夠是0或是以下的組合:
_______________________________________________________________
| MSG_DONTROUTE |?不查找路由表?|
| MSG_OOB |?接受或發送帶外數據?|
| MSG_PEEK |?查看數據,并不從系統緩沖區移走數據?|
| MSG_WAITALL |?等待任何數據?|
|————————————————————–|
????如果flags為0,則和read,write一樣的操作。
2、在unix中,所有的設備都可以看成是一個文件,所以我們可以用read來讀取socket數據。
總結
以上是生活随笔為你收集整理的linux中read,write和recv,send的区别(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux网络编程二十:socket选项
- 下一篇: CentOS7关闭防火墙和SELinux