Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何确定套接字接收缓冲区的填充量?_C++_Sockets_Udp_Recvfrom - Fatal编程技术网

C++ 如何确定套接字接收缓冲区的填充量?

C++ 如何确定套接字接收缓冲区的填充量?,c++,sockets,udp,recvfrom,C++,Sockets,Udp,Recvfrom,在我的应用程序中,我试图尽快向不同的服务器发送和接收数据报。我注意到,增加发送速率会大大降低给定发送次数下我收到的响应百分比。我相信一个原因可能是recvfrom()的队列填充速度快于我调用函数读取数据包的速度,到达末尾并丢弃了大量数据包。有没有办法检查套接字的接收缓冲区有多满 这是在Windows上,而不是在Linux上,我更喜欢编程方式。你的意思是,从发送端开始,你想检查接收端的缓冲区有多满吗?不,我想在调用recvfrom()之前,先看看缓冲区中有多少字节。你的意思是?假设有一种机制可以告

在我的应用程序中,我试图尽快向不同的服务器发送和接收数据报。我注意到,增加发送速率会大大降低给定发送次数下我收到的响应百分比。我相信一个原因可能是recvfrom()的队列填充速度快于我调用函数读取数据包的速度,到达末尾并丢弃了大量数据包。有没有办法检查套接字的接收缓冲区有多满


这是在Windows上,而不是在Linux上,我更喜欢编程方式。

你的意思是,从发送端开始,你想检查接收端的缓冲区有多满吗?不,我想在调用recvfrom()之前,先看看缓冲区中有多少字节。你的意思是?假设有一种机制可以告诉您接收缓冲区中当前有多少字节,则可能存在重复。一旦你有了这个机制,你会怎么做?在我看来,不管当前值是多少,您唯一的选择就是尽快从缓冲区中读取数据包。您的意思是,从发送端开始,您想检查接收端的缓冲区有多满吗?不,我想在调用recvfrom()之前能够看到缓冲区中有多少字节你是说像这样?假设有一种机制可以告诉您接收缓冲区中当前有多少字节,则可能存在重复。一旦你有了这个机制,你会怎么做?在我看来,无论当前值是什么,您唯一的选择将是尽快从缓冲区读取数据包。