2、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...

1、recvsend函数提供了和readwrite差不多的功能但是他们提供了第四个参数来控制读写操作.

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 | 等待任何数据 |

|————————————————————–|

    如果flags0则和read,write一样的操作。

2、在unix中,所有的设备都可以看成是一个文件,所以我们可以用read来读取socket数据。

参考

1 http://apps.hi.baidu.com/share/detail/137478

2】 设置非阻塞

http://www.ajaxstu.com/Cbiancheng/107652.html

3http://blog.163.com/solylee@126/blog/static/17182315720111161368585/

4http://blog.163.com/clevertanglei900@126/blog/static/111352259201122001933162/

5http://topic.csdn.net/u/20090703/20/36925146-0f73-47fe-8a71-45ec245166ba.html

目录
相关文章
|
8天前
|
Linux Shell
在Linux中,umask 和 ulimit有什么区别?
在Linux中,umask 和 ulimit有什么区别?
|
8天前
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
|
8天前
|
Linux 索引
在Linux中,符号链接与硬链接有何区别?
在Linux中,符号链接与硬链接有何区别?
|
8天前
|
缓存 Java 应用服务中间件
在Linux中,Tomcat和Resin有什么区别,工作中怎么选择?
在Linux中,Tomcat和Resin有什么区别,工作中怎么选择?
|
8天前
|
缓存 负载均衡 应用服务中间件
在Linux中,Squid、Varinsh和Nginx有什么区别,工作中怎么选择?
在Linux中,Squid、Varinsh和Nginx有什么区别,工作中怎么选择?
|
9天前
|
安全 Linux 虚拟化
在Linux中,Jail和Chroot有何区别?
在Linux中,Jail和Chroot有何区别?
|
8天前
|
负载均衡 应用服务中间件 Linux
在Linux中,LVS、Nginx、HAproxy有什么区别?工作中怎么选择?
在Linux中,LVS、Nginx、HAproxy有什么区别?工作中怎么选择?
|
10天前
|
Unix Linux C语言
在Linux中,grep和egrep命令的区别?
在Linux中,grep和egrep命令的区别?
|
10天前
|
Linux Apache 开发者
在Linux中,开源软件和自由软件的区别?
在Linux中,开源软件和自由软件的区别?
|
10天前
|
算法 Ubuntu Linux
在Linux中,对比apt和yum两种包管理器在不同Linux发行版中应用有何区别?
在Linux中,对比apt和yum两种包管理器在不同Linux发行版中应用有何区别?
下一篇
云函数