linux中read,write和recv,send的区别(转)
2013-01-18 09:59
471 查看
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数据。
参考
【1】 http://apps.hi.baidu.com/share/detail/137478
【2】 设置非阻塞
http://www.ajaxstu.com/Cbiancheng/107652.html
【3】 http://blog.163.com/solylee@126/blog/static/17182315720111161368585/
【4】http://blog.163.com/clevertanglei900@126/blog/static/111352259201122001933162/
【5】 http://topic.csdn.net/u/20090703/20/36925146-0f73-47fe-8a71-45ec245166ba.html
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数据。
参考
【1】 http://apps.hi.baidu.com/share/detail/137478
【2】 设置非阻塞
http://www.ajaxstu.com/Cbiancheng/107652.html
【3】 http://blog.163.com/solylee@126/blog/static/17182315720111161368585/
【4】http://blog.163.com/clevertanglei900@126/blog/static/111352259201122001933162/
【5】 http://topic.csdn.net/u/20090703/20/36925146-0f73-47fe-8a71-45ec245166ba.html
相关文章推荐
- 2、linux中read,write和recv,send的区别
- linux下网络编程send,recv,read,write的区别
- socket编程中write、read和send、recv之间的区别
- socket编程中write、read和send、recv之间的区别
- socket编程中write、read和send、recv之间的区别
- socket编程中write、read和send、recv之间的区别
- socket编程中write、read和send、recv之间的区别
- socket编程中write、read和send、recv之间的区别
- read,send,write,recv的区别
- recv,write,send,read,recvfrom,sendto区别,详解
- socket编程中write、read和send、recv之间的区别
- socket编程中write、read和send、recv之间的区别 2
- socket编程中write、read和send、recv之间的区别
- socket编程中的read、write与recv、send的区别
- socket编程中write、read和send、recv之间的区别
- read、write与recv、send的区别
- socket编程中write、read和send、recv之间的区别
- socket编程中write、read和send、recv之间的区别
- socket编程中write、read和send、recv之间的区别
- UNIX网络编程-recv、send、read、write之间的联系与区别