UDP服务器的最大负载和有效性

UDP服务器的最大负载和有效性,udp,winsock,payload,Udp,Winsock,Payload,我已经创建了一个UDP服务器客户端应用程序。服务器端只有一个线程连续执行recvfrom()。 如果我从3台不同的机器上同时运行3个客户机,并发送一些数据,服务器就能够从每个客户机读取数据。 但是我如何测试这个应用程序的可靠性呢? 我如何知道此服务器一次最多可以处理多少个客户端? 最大有效载荷是多少 但是我如何测试这个应用程序的可靠性呢 尽可能多地运行客户端。您可以运行和发送数据的客户端越多越好。尝试运行不同机器的多个客户端,在每台机器上尝试运行尽可能多的客户端,并保持自动发送数据 让客户端在循

我已经创建了一个UDP服务器客户端应用程序。服务器端只有一个线程连续执行recvfrom()。 如果我从3台不同的机器上同时运行3个客户机,并发送一些数据,服务器就能够从每个客户机读取数据。 但是我如何测试这个应用程序的可靠性呢? 我如何知道此服务器一次最多可以处理多少个客户端? 最大有效载荷是多少

但是我如何测试这个应用程序的可靠性呢

尽可能多地运行客户端。您可以运行和发送数据的客户端越多越好。尝试运行不同机器的多个客户端,在每台机器上尝试运行尽可能多的客户端,并保持自动发送数据

让客户端在循环中发送数据,而不等待输入,并在每次发送调用之间设置延迟。几秒钟的延迟是可以的,然后你可以降低延迟,看看你的服务器是如何处理的

我如何知道此服务器一次最多可以处理多少个客户端

你不能。您使用的是UDP服务器,UDP是无连接的。客户端不需要连接到服务器来发送数据,他们只是发送数据。通常,它受到服务器上可用资源(内存等)的限制

最大有效载荷是多少


什么的最大有效载荷?UDP消息?您可以阅读有关UDP的更多信息。

通过在每次调用sendto()之前延迟2秒来完成此操作。但由于sendto()自动发送相同的数据,服务器似乎也在读取数据,但我怎么知道服务器是否遗漏了某些内容呢(嗯..我想知道我的UDP服务器可以读取的最大负载是多少?换句话说,客户端能够发送的最大负载是多少。放置一个计数器,如
int messages;
,并在客户端和服务器每次发送后增加它,然后比较两者并查看发送和接收的最大负载。关于最大负载,您应该在上面的链接中,在UDP数据包结构和中可以看到它。谢谢Karim。我发现,由于我使用的是AF_INET,这使得它成为IPV4 UDP套接字,IPV4的最大负载是65507字节,那么这是否意味着要检查我的通信的最大负载,我必须创建一个char sendBuffer[65507]然后通过它发送65507字节,在服务器端,我将生成一个char-receiveBuffer[65507]并查看是否已正确接收所有65507字节的数据?不,请不要。这是UDP数据包的最大大小。Windows中套接字发送和接收缓冲区的大小为8192。如果要发送更多数据,则必须拆分数据并使用多个发送。