问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

recv()的注释

发布网友 发布时间:2022-11-17 03:46

我来回答

1个回答

热心网友 时间:2024-01-05 13:57

本函数用于已连接的数据报或流式套接口进行数据的接收。
对SOCK_STREAM类型的套接口来说,本函数将返回所有可用的信息,最大可达缓冲区的大小。如果套接口被设置为线内接收带外数据(选项为SO_OOBINLINE),且有带外数据未读入,则返回带外数据。应用程序可通过调用ioctlsocket()的SOCATMARK命令来确定是否有带外数据待读入。
对于数据报类套接口,队列中第一个数据报中的数据被解包,但最多不超过缓冲区的大小。如果数据报大于缓冲区,那么缓冲区中只有数据报的前面部分,其他的数据都丢失了,并且recv()函数返回WSAEMSGSIZE错误。如果没有数据待读,那么除非是非阻塞模式,不然的话套接口将一直等待数据的到来,此时将返回SOCKET_ERROR错误,错误代码是WSAEWOULDBLOCK。用select()或WSAAsynSelect()可以获知何时数据到达。
如果套接口为SOCK_STREAM类型,并且远端“优雅”地中止了连接,那么recv()一个数据也不读取,立即返回。如果立即被强制中止,那么recv()将以WSAECONNRESET错误失败返回。在套接口的所设选项之上,还可用标志位flag来影响函数的执行方式。也就是说,本函数的语义既取决于套接口选项,也取决于标志位参数。标志位可取下列值: windows版本:
第四个参数:
MSG_PEEK 查看当前数据。数据将被复制到缓冲区中,但并不从输入队列中删除。
MSG_OOB 处理带外数据(参见2.2.3节具体讨论)。
返回值:
若无错误发生,recv()返回读入的字节数。如果连接已中止,返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。
错误代码:
WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。
WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。
WSAENOTCONN:套接口未连接。
WSAEINTR:阻塞进程被WSACancelBlockingCall()取消。
WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。
WSAENOTSOCK:描述字不是一个套接口。
WSAEOPNOTSUPP:指定了MSG_OOB,但套接口不是SOCK_STREAM类型的。
WSAESHUTDOWN:套接口已被关闭。当一个套接口以0或2的how参数调用shutdown()关闭后,无法再用recv()接收数据。
WSAEWOULDBLOCK:套接口标识为非阻塞模式,但接收操作会产生阻塞。
WSAEMSGSIZE:数据报太大无法全部装入缓冲区,故被剪切。
WSAEINVAL:套接口未用bind()进行*。
WSAECONNABORTED:由于超时或其他原因,虚电路失效。
WSAECONNRESET:远端强制中止了虚电路。
linux版本:
第四个参数:
MSG_DONTROUTE 绕过路由表查找。
MSG_DONTWAIT 仅本操作非阻塞。
MSG_OOB 发送或接收带外数据。
MSG_PEEK 窥看外来消息。
MSG_WAITALL 等待所有数据。
返回值:
若无错误发生,recv()返回读入的字节数。如果连接已中止,返回0。如果发生错误,返回-1,应用程序可通过perror()获取相应错误信息。 recvfrom(), send(), select(), WSAAsyncSelect(), socket(), read()

recv()的注释

应用程序可通过调用ioctlsocket()的SOCATMARK命令来确定是否有带外数据待读入。对于数据报类套接口,队列中第一个数据报中的数据被解包,但最多不超过缓冲区的大小。如果数据报大于缓冲区,那么缓冲区中只有数据报的前面部分,其他的数据都丢失了,并且recv()函数返回WSAEMSGSIZE错误。如果没有数据待读,那...

ioctlsocket()的注释:

否则的话返回FALSE假,下一个recv()或recvfrom()操作将检索“标记”前一些或所有数据。应用程序可用SIOCATMARK操作来确定是否有数据剩下。如果在“紧急”(带外)数据[前有常规数据,则按序接收这些数据(请注意,recv()和recvfrom()操作不会在一次调用中混淆常规数据与带外数]据)。argp指向一个BOOL...

求IIS服务命令

select * from 表名; 显示表中的记录 mysqldump --opt school>school.bbb 备份数据库:(命令在DOS的\\mysql\\bin目录下执行);注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。win2003系统下新增命令(实用部份):shutdown /参数 关闭或重...

WinSock Expert 无法抓包 各位大虾帮帮忙

// 的定义为: #define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) ioctlsocket(sock, SIO_RCVALL, &dwValue); 前面的工作基本上都是对原始套接字进行设置,在将原始套接字设置完毕,使其能按预期目的工作时,就可以通过recv()函数从网卡接收数据了,接收到的原始数据包存放在缓存RecvBuf[]中,缓冲区长度BUFFER_SIZE定义为...

ioctlsocket()注释

若套接字已启用WSAAsynSelect(),尝试通过ioctlsocket()将其设置回阻塞模式会返回WSAEINVAL错误。要重新设置为阻塞模式,应用必须先调用WSAAsynSelect()并设置IEvent参数为0。FIONREAD:用于查询套接字s自动接收的数据量。argp指向无符号长整型,返回值会告知ioctlsocket()一次recv()操作能接收多少数据。对于SOCKET...

connect()的注释:

则connect()将返回WSAEADDRNOTAVAIL错误。对于流类套接口(SOCK_STREAM类型),利用名字来与一个远程主机建立连接,一旦套接口调用成功返回,它就能收发数据了。对于数据报类套接口(SOCK_DGRAM类型),则设置成一个缺省的目的地址,并用它来进行后续的send()与recv()调用。

手机QQ群里的文件下载后用什么软件打开

步骤1:你点击“用其他应用打开”选择系统自带的压缩软件。。把他解压到指定文件目录:2:再打开文件夹管理器,打开你刚才把这个文件解压的目录。让后点击就可以看了。。注释:万一系统软件你找不到,可以百度关键字“解压安卓”,下载对应apk,,安装。然后打开qq,让后在点击“用其他应用打开”,选择刚...

connect()注释

对于流类套接字(SOCK_STREAM),它支持通过名字与远程主机建立持久连接,一旦连接成功,套接字就具备双向数据传输的能力,可以进行数据的发送和接收操作。而在数据报类套接字(SOCK_DGRAM)中,connect()主要用于设置一个默认的目标地址,这个地址将在后续的send()和recv()调用中起到作用,以实现数据报...

select()注释

对于 `SOCK_STREAM` 类型的套接口,如果虚电路被中止或强制复位,则 `recv()` 或 `recvfrom()` 操作会立即返回,并以 `WSAECONNRESET` 错误结束。如果设置了 `SO_OOBINLINE` 选项,则会检查是否存在带外数据(参见 `setsockopt()`)。`writefds` 参数用于标识需要进行可写性检查的套接口。如果套...

RecvfailureConnectionwasreset

把注释符号 删掉就可以启用Ajp13了。 然后保存,现在Tomcat和Apache的整合配置基本完成了。 8、 整体测试 把test.jsp放在f:Tomcatwebappsexamplesjsp 目录下,依次启动Apache2,Tomcat4。打开浏览器,在地址栏里输入http://localhost:8080/examples/jsp /test.jsp,如果浏览器中出现"Hello World!",则Tomcat重新配置后工作...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
孩子的冠姓权是怎么回事? 如何看待孩子冠姓权问题? 意定监护协议样本内容是什么? 自愿放弃监护权合同范本是怎样的? 放弃孩子监护权协议书怎么写? 自愿变更监护权协议书怎么写? 变更监护权协议书怎么写? 子女监护权变更协议范本是怎样的? 变更子女监护权协议书 宝诗龙Epure焦特普尔之蓝腕表:诠释极致经典 我的U盘插进电脑不能显示 管理的最基本要求 家庭电视剧排行榜前十名 描绘美好自然风光的词语 描绘美好自然风光的诗句 【车主点评:北京bj40,个人的用车感受,还不错】 韦字的繁体字或异体字的写法有几种? 睡觉有利于长个嘛? 生态环保主题活动方案 关于绿色环保主题活动方案范文 亚历山大病在中国有多少例 比亚迪发布2019年业绩快报,来看看国货之光战况如何? 大幅反弹比亚迪2013年净利润大增579% 形容人娇气的外号? 个人外号有哪些 ...各项营业执照、工商、消防、税务手续需要花多少钱? 我教弟弟做菜说明文 oppo手机开了高清通话但是还是不能再接打电话的时候使用网络 德国微微嘟这个牌子怎么样 全安堂奶瓶消毒器有时候不能消毒 给别人起外号,正确的原因? 微信拉黑后又恢复好友,拉黑后发的消息还能看到吗? 微信拉黑之后再恢复对方那边能显示被恢复的消息吗 华为畅想9开不了机一直在开机的画面怎么办 华为畅享9有双击亮屏吗? 好听的男女生外号大全 好听的男女生外号大全有哪些 家庭用的白炽灯,用了很久以后发现灯泡壁变黑,且在相同电压下工作时灯... 海尔洗衣机显示e3是什么意思 交通安全宣传课心得体会 有一筐萝卜和一筐白菜,,萝卜比白菜轻6.8千克,已知白菜的质量是萝卜的... 有一筐萝卜和一筐白菜,萝卜比白菜强6.8千克,已知,白菜的质量是萝卜的... 有一筐萝卜和一筐白菜萝卜比白菜轻一点二倍那么萝卜和白菜各有多少千克... 一筐萝卜一筐白菜,萝卜比白菜轻六点八千克,已知白菜的质量是萝卜的一点... 罗卜和白菜一共20匡,罗卜是白菜的3倍,罗卜有多少匡? 想了解二战中的法国 iQOO9长什么样的? 你好,食用颗粒碱是做馒头用的吗 光电旋转编码器主要干什么(光电编码器和磁电编码器的区别) 广州有游戏设计专业的学校吗? 广州有没有专业点的游戏设计学校?
  • 焦点

最新推荐

猜你喜欢

热门推荐