recv(经socket接收数据)
来源:互联网 发布:石家庄 知乎 编辑:程序博客网 时间:2024/06/01 07:26
recv(经socket接收数据)
#include<sys/socket.h>
MSG_OOB 接收以out-of-band 送出的数据。
MSG_PEEK 返回来的数据并不会在系统内删除,如果再调用recv()会返回相同的数据内容。
MSG_WAITALL强迫接收到len大小的数据后才能返回,除非有错误或信号产生。
MSG_NOSIGNAL此操作不愿被SIGPIPE信号中断返回值成功则返回接收到的字符数,失败返回-1,错误原因存于errno中。
EFAULT 参数中有一指针指向无法存取的内存空间
ENOTSOCK 参数s为一文件描述词,非socket。
EINTR 被信号所中断
EAGAIN 此动作会令进程阻断,但参数s的socket为不可阻断
ENOBUFS 系统的缓冲内存不足。
ENOMEM 核心内存不足
EINVAL 传给系统调用的参数不正确。
相关函数
recvfrom,recvmsg,send,sendto,socket表头文件
#include<sys/types.h>#include<sys/socket.h>
定义函数
int recv(int s,void *buf,int len,unsigned int flags);函数说明
recv()用来接收远端主机经指定的socket传来的数据,并把数据存到由参数buf 指向的内存空间,参数len为可接收数据的最大长度。参数
flags一般设0。其他数值定义如下:MSG_OOB 接收以out-of-band 送出的数据。
MSG_PEEK 返回来的数据并不会在系统内删除,如果再调用recv()会返回相同的数据内容。
MSG_WAITALL强迫接收到len大小的数据后才能返回,除非有错误或信号产生。
MSG_NOSIGNAL此操作不愿被SIGPIPE信号中断返回值成功则返回接收到的字符数,失败返回-1,错误原因存于errno中。
错误代码
EBADF 参数s非合法的socket处理代码EFAULT 参数中有一指针指向无法存取的内存空间
ENOTSOCK 参数s为一文件描述词,非socket。
EINTR 被信号所中断
EAGAIN 此动作会令进程阻断,但参数s的socket为不可阻断
ENOBUFS 系统的缓冲内存不足。
ENOMEM 核心内存不足
EINVAL 传给系统调用的参数不正确。
- recv(经socket接收数据)
- 接收数据 recv
- socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
- socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
- socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
- socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
- socket tcp使用recv接收数据时,返回errno错误代码88
- 16.3.2 接收网络数据recv()
- 17.4.1 数据接收函数recv
- recv, recvfrom, recvmsg用于接收数据
- Windows socket通信出现接收数据时出现recv返回大于0,但缓冲区为大小为0的问题
- socket 接收数据不全
- socket 接收图片数据
- socket 中的recv()函数
- recv函数接收数据问题(诡异)--调试正确,全速出错
- c# Socket异步接收数据
- socket接收数据不全解决方案
- JAVA中Socket数据接收
- 动态添加表格行
- 统治世界的精英集团
- 漂亮的js日历
- Boston Legal 第一季精彩对白
- 2008.04.08第二天
- recv(经socket接收数据)
- 在datalist中改变不同组的颜色
- java 写cookie
- Algorithm--全排列(c#)
- 其实我是个程序员:只有偏执狂才会快乐
- PHP开发中session应用详解
- 创建oracle dblink
- send(经socket传送数据)
- CIFS:通用 Internet 文件系统 (Common Internet File System)