在运行时确定缓冲区的大小? (套接字编程)

时间:2014-11-18 20:55:30

标签: c++ c sockets

为了确定UDP分组中接收的消息的类型,需要查看从“recvfrom”接收的特定缓冲区元素[i],以便辨别预期的消息类型。首先,我使用堆栈中的缓冲区来填充缓冲区(recvfrom),我知道应该收到的消息的最大大小。

所以说我的数组缓冲区是300字节,我收到不同大小的数据包(例如30,80,210个byes等)....我怎么知道收到的大小(这是因为其他几个标准我测试以确定消息的性质)

知道大小将使我能够将memcpy用于对象。

我正在考虑使用strlen(udp数据包),因为它是在运行时确定的,而不是编译时间。 问题是如果其余的数据包充满了垃圾....

我很感激

1 个答案:

答案 0 :(得分:0)

recv(2),用于接收UDP数据包,返回接收的字节数。