所以我几乎完成了一项涉及 Win32 编程和套接字的任务,但我必须生成和分析一些有关传输的统计信息。我唯一遇到的问题是如何计算从客户端发送到服务器的数据包数量。
发送的数据可以是可变长度的,所以我不能只将接收到的总字节数除以#define'd 值。
我们必须使用异步调用来做所有事情,所以我一直在尝试用我为服务器套接字获得的每条 FD_READ 消息增加一个计数器。但是,因为我必须能够接受可能很大的文件大小,所以我必须使用大约 64k 的缓冲区大小调用 recv/recvfrom。如果我发送一个小数据包(az),则没有问题。但是,如果我发送 1024 个字符的字符串 10 倍,服务器会报告收到 2 或 3 个数据包,但就发送/接收的字节而言,数据丢失率为 0%。
知道如何获取数据包的数量吗?
提前致谢 :)