Yan*_*ick 4 c c++ sockets asynchronous winsock2
我想要一个WSARecv精度.
基本上你似乎可以使用带有WSABUF数组的函数.
1-在没有完成端口的重叠I/O上下文中,假设我在具有48个WSABUF数组的数据报套接字上使用WSARecv(),这是否意味着我可以在一个数据包中接收48个不同的UDP数据包(每个缓冲区1个数据包)打电话(说他们到达同一时刻)?或者接收48个数据包的唯一方法是在事件发出信号后使用WSARecv()48次(使用带事件的重叠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);
Run Code Online (Sandbox Code Playgroud)
有了这个?
WSARecv(sock, buffer_array, 48, NULL, 0, &overlapped, completion_routine);
Run Code Online (Sandbox Code Playgroud)
基本上它是否意味着调用带有48个缓冲区的WSARecv()将发布48个读取请求?
3-如果不是,一组WSABUF的目的是什么?我的意思是,只有一个正确的尺寸就足够了吗?
非常感谢!
| 归档时间: |
|
| 查看次数: |
656 次 |
| 最近记录: |