Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.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 QoS don';不能处理两个以上的实例_C_Windows_Qos - Fatal编程技术网

C QoS don';不能处理两个以上的实例

C QoS don';不能处理两个以上的实例,c,windows,qos,C,Windows,Qos,微软的QoS对可以工作的连接数量有限制吗 我使用的是微软的样本 我在这里做的是编译。运行程序,以一定的比特率将数据包发送到网络上的任何计算机。define每秒突发次数设置为1000,数据报大小设置为150*150 // Size of the data part of each datagram that is exchanged between the // client and the server. This does not count the IP and UDP header. #d

微软的QoS对可以工作的连接数量有限制吗

我使用的是微软的样本

我在这里做的是编译。运行程序,以一定的比特率将数据包发送到网络上的任何计算机。
define
每秒突发次数
设置为1000,
数据报大小
设置为150*150

// Size of the data part of each datagram that is exchanged between the
// client and the server. This does not count the IP and UDP header.
#define DATAGRAM_SIZE       150 * 150

// Number of bursts we are aiming for per second
#define BURSTS_PER_SECOND   1
当我运行一个程序时,我可以看到:

         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         0 |          0 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         0 |          0 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
正如你所看到的,比特率总是恒定的,数据包的数量也是恒定的。当我打开第二个实例发送相同参数的相同数据时,一切正常

但当我再打开一个时,我可以看到:

         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         0 |          0 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         0 |          0 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
有时我会在一秒钟内发送3个数据包,其他0个数据包。突发时间设置为1秒,但有3个实例(三个不同的进程)时,时间会增长到1500ms。每一个新的例子都会使问题更加严重。当我关闭所有实例时,只允许两个或一个实例,一切都像以前一样运行良好

我的问题是:Windows在QoS方面有一些限制?为什么我不能打开QoS的3个实例?我的网络不忙(我正在发送小数据)


我做错了什么?

关于:
#定义每秒突发事件1
这与您的问题中每秒1000次突发事件的文本不匹配。您的声明称数据报大小为150x150。(即每个数据包22500字节)1)不能保证会收到数据报。2) 以太网数据包(通常)分为(约)1600字节。因此,每个执行的
send()
sendto()
write()
语句都将发送几个数据包。但是,当您没有发布错误消息时,我们如何知道您的代码实际在做什么,以便我们可以重现问题,从而帮助您调试它。关于:
我做错了什么?
可能是接口过载了。我们如何判断您何时没有提供代码?@user3629249该代码与Microsoft示例(文章链接)相同。对不起,我错配了。发送时间为1000毫秒。主要问题是:我的网络可以正常发送1Gbit,并且没有问题。但是,当我在3个300比特的QoS连接上进行分发时,问题就出现了。即使是1Mbit。没道理。数据量相同或更少。@user3629249我真正的问题是使用LIBAV的MPEGTS,但通过MS sample,我可以重现相同的数据量,说明我的QoS控制代码存在问题。我可以控制比特率,并且我可以通过最多2个QoS连接保持稳定(每个音频通道128k,16个音频通道,传输流开销)。当我再打开一个时,问题就出现了(它没有像以前那样发送数据)。