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