传递缓冲区以进行recv的函数

时间:2012-02-22 19:33:31

标签: windows sockets network-programming winsock

我今天早些时候发了一篇类似的帖子,但我认为我不清楚我需要做些什么。我希望创建一个以缓冲区作为参数的函数,该函数仅用于存储来自使用windows recv functin接收的服务器的传入消息的一部分。它向服务器发送一些随机数的请求,等待回复,然后将它们放入缓冲区。问题是输入数据包中的数字数组可以是任何长度,具体取决于所请求的调用功能的数量。传入消息的结构如下:

struct PacketIn
{
    int var1,
    int var2,
    int* array;
}

并且应该像这样调用函数:

int numbers[100];
func(numbers,100) //takes a buffer and an amount of numbers to request.

该函数不得执行数组的分配,但正如您所看到的那样,它必须进行一些分配,因为传入的数据包不仅仅包含它用于验证消息的数据的随机数。

调用函数不应该在它分配的缓冲区中获取验证数据。如果没有在函数内部分配整个传入数据包,这是否可行?我怀疑这可能是不可能的。

感谢。

0 个答案:

没有答案