Microsoft的QoS对可以使用多少个连接有限制?
我正在github上使用Microsoft的示例
我在这里正在做的是编译。运行程序,以某种比特率将数据包发送到网络上的任何计算机。 define
BURSTS_PER_SECOND
设置为1000,而DATAGRAM_SIZE
设置为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个数据包,其他0个数据包。突发时间设置为1秒,但是在3个实例(三个不同的进程)下,时间增长到1500ms。而且每个新实例都会使问题更加严重。当我关闭所有只允许两个或一个的实例时,一切都会像以前一样运行良好。
我的问题是:Windows在QoS方面有一些限制吗?为什么我不能打开3个QoS实例?我的网络不忙(我正在发送小数据)。
我做错了什么?