WSARecv()和多个缓冲区

亚尼克

我想对WSARecv有所了解。

基本上,您似乎可以将该函数与WSABUF数组一起使用。

1-在没有完成端口的重叠I / O上下文中,假设我在具有48个WSABUF数组的数据报套接字上使用WSARecv(),这是否意味着我可以在单个接收48个不同的UDP数据包(每个缓冲区1个数据包)打电话(假设他们在同一确切的时间到达)?或者,接收48个数据包的唯一方法是在事件发出信号后48次使用WSARecv()(我将重复的I / O与事件一起使用,但不使用完成端口,我重复一下)。

2-在一个上下文WITH I / O完成端口/重叠的I / O,它意味着我可以更换这个

int n = 48;
for (int i = 0; i < n; i++)
   WSARecv(sock, &buffer_array[i], 1, NULL, 0, &overlapped, completion_routine);

有了这个?

WSARecv(sock, buffer_array, 48, NULL, 0, &overlapped, completion_routine);

基本上,这是否意味着使用48个缓冲区调用WSARecv()将发布48个读取请求?

3-如果不是,那么WSABUF的目的是什么?我的意思是,只有正确大小的一个就够了吗?

非常感谢!

用户名

一个WSARecv()==一个数据报。如果您事先知道这些缓冲区有多大,则可以使用多个缓冲区将数据报拆分为标题,正文,尾部等。它不允许您一次接收48个数据报。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多个缓冲区和VAO性能

来自分类Dev

Vim的relativenumber设置和多个缓冲区

来自分类Dev

多个缓冲区还是单个缓冲区?

来自分类Dev

diffput到多个缓冲区?

来自分类Dev

VAO和元素缓冲区对象

来自分类Dev

与缓冲区,EOF和getchar混淆

来自分类Dev

OpenGL:glLoadMatrix和深度缓冲区

来自分类Dev

VIM Sendscreen和后台缓冲区

来自分类Dev

OpenGL缓冲区,gLFlush和glutSwapBuffers()

来自分类Dev

只读和只写缓冲区

来自分类Dev

-/ +缓冲区/缓存和交换

来自分类Dev

键盘缓冲区和CPU

来自分类Dev

Boost Sort和OpenCL缓冲区

来自分类Dev

传输缓冲区和接收缓冲区(txb和rxb)的用法和区别

来自分类Dev

传输缓冲区和接收缓冲区之间的用法和区别(txb和rxb)

来自分类Dev

libuv和uv_try_write:为什么要使用多个缓冲区?

来自分类Dev

如何通过使用统一的缓冲区对象和实例渲染来绘制多个对象?

来自分类Dev

Boost.Asio-具有自定义缓冲区的多个缓冲区

来自分类Dev

具有多个绘制缓冲区的帧缓冲区

来自分类Dev

使用单个顶点缓冲区还是多个顶点缓冲区?

来自分类Dev

使用单个顶点缓冲区还是多个顶点缓冲区?

来自分类Dev

在 Flex 中使用多个缓冲区时,如何避免令牌在缓冲区之间拆分

来自分类Dev

Powershell DSC-不支持缓冲区。检查缓冲区的编码和长度

来自分类Dev

深度缓冲区和模板缓冲区问题QML

来自分类Dev

解码图片缓冲区和编码图片缓冲区之间有区别吗?

来自分类Dev

不能混合使用OpenGL缓冲区和CPU缓冲区

来自分类Dev

存储缓冲区和重排序缓冲区都用于推测指令吗?

来自分类Dev

存储缓冲区和行填充缓冲区如何相互影响?

来自分类Dev

顶点缓冲区绑定索引和统一缓冲区绑定点?

Related 相关文章

热门标签

归档