gpt4 book ai didi

c++ - Windows 套接字接收标志

转载 作者:可可西里 更新时间:2023-11-01 10:02:54 25 4
gpt4 key购买 nike

我正在阅读来自 msdn 的套接字 recv() 文档,我不清楚这些标志的作用:

int recv(
_In_ SOCKET s,
_Out_ char *buf,
_In_ int len,
_In_ int flags //these
);

我偷看了winsock2.h并找到一些标志的值,如:MSG_OOBMSG_PEEK,但 MSG_WAITALL 未在此处定义。

能否请您向我解释一下每个标志的作用以及它的值 (int) 是什么?

编辑:看来我的问题并不清楚,但我确实阅读了关于标志的文档部分,但我仍然不理解每个标志的 recv() 行为,因此如果可能的话,我要求用一个例子来解释每个标志。

最佳答案

recv() 上查看这篇 MSDN 文章:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms740121(v=vs.85).aspx

老实说,除了 MSG_PEEK 之外,我在我所做的所有网络工作中都没有使用过任何这些标志 - 我不明白为什么这些天在大多数情况下都会出现它.

您可以查看 WinSock2.h 头文件并从中推导出值:

#define MSG_OOB         0x1             /* process out-of-band data */
#define MSG_PEEK 0x2 /* peek at incoming message */
#define MSG_DONTROUTE 0x4 /* send without using routing tables */
#define MSG_WAITALL 0x8 /* do not complete until packet is */

关于c++ - Windows 套接字接收标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48264142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com