CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

Win网络编程里的QoS结构,看得一头雾水..

楼主ljhjason(小鬼)2005-01-14 13:12:34 在 VC/MFC / 网络编程 提问

typedef   struct   _flowspec  
  {  
          ULONG               TokenRate;                             /*   In   Bytes/sec   */  
          ULONG               TokenBucketSize;                 /*   In   Bytes   */  
          ULONG               PeakBandwidth;                     /*   In   Bytes/sec   */  
          ULONG               Latency;                                 /*   In   microseconds   */  
          ULONG               DelayVariation;                   /*   In   microseconds   */  
          SERVICETYPE   ServiceType;  
          ULONG               MaxSduSize;                           /*   In   Bytes   */  
          ULONG               MinimumPolicedSize;           /*   In   Bytes   */  
   
  }   FLOWSPEC,   *PFLOWSPEC,   *   LPFLOWSPEC;  
   
  下面是书的原文:  
  ///////////////////////////////////////////////////////////////////////////////////////  
  TokenRate字段定义了数据的传输速度,单位是“字节/秒”。Token是“令牌”的意思。作为一个应用程序,它可以按此速度传输数据,但假如由于某种原因,它需要用一个较低的速度传输,便可积累下额外的令牌,以便更多的数据能在以后传输出去。  
   
  然而,一个应用程序可累积的令牌数量要受PeakBandwidth的制约。同时,令牌本身的尺寸也要受到TokenBucketSize字段的限制。  
   
  通过对令牌总量加以限制,便可防止不活动的数据流积下大量令牌。因为这样极易造成可用带宽的极大浪费。尽管数据流可在一定时间内,积累传输所需的“信用点”(令牌),但最多只能积累到由TokenBucketSize的大小,而且由于它们的“峰值传输”受到PeakBandwidth的限制,所以传输控制以及网络设备资源的完整性得到了有效保证。之所以说传输控制得到了保证,是由于数据流不能一次发送任意多的数据。而网络设备资源完整性得到了保证,是由于这些设备不会受到突发性的“峰值”传输量的冲击  
   
  由于采取了这些限制措施,应用程序只有在累积了足够的“信用点”之后,才能开始传输数据。假如没有达到对信用点数量的要求,那么对应用程序而言,要么等积累到足够多的信用点再发送数据,要么完全放弃数据的传输。通信控制(TC)模块负责决定对于等待许久都没有发送出去的数据,该如何进行处理。因此,在设计应用程序的时候,就应注意将TokenRate请求设置成一个合理的数量  
  /////////////////////////////////////////////////////////////////////////////////////////  
   
  这是书的源代码对这结构的赋值例子  
  const   FLOWSPEC   flowspec_g711   =   {8500,  
  680,  
  17000,  
  QOS_NOT_SPECIFIED,  
  QOS_NOT_SPECIFIED,  
  SERVICETYPE_CONTROLLEDLOAD,  
  340,  
  340};  
   
   
  然后我想问下  
  TokenRate是代表最大传输速率还是最小传输速率??  
  TokenBucketSize是单个令牌的大小,还是所有令牌大小  
  PeakBandwidth;这个又是什么意思??令牌数??它的单位是Bytes/sec呀  
  问题点数:20、回复次数:4Top

1 楼ljhjason(小鬼)回复于 2005-01-14 16:15:45 得分 0

upTop

2 楼click2004(大家好)回复于 2005-01-14 17:18:55 得分 10

关注   交流qq   103225301Top

3 楼ljhjason(小鬼)回复于 2005-01-23 15:36:45 得分 0

upTop

4 楼karonhome(天天开心)回复于 2005-01-24 01:01:37 得分 10

markTop

相关问题

  • 一个涉及win Shell的编程
  • 請教大俠:<<Windows 网络编程>> Qos debug 問題
  • 编程
  • 编程
  • vc++初学者,win SDK和win MFC编程的区别?
  • 请问:WIN编程中的文件操作问题
  • 有关win 编程的问题!!!!高手指点!!
  • 我是电子系的,现在人学WIN编程
  • 请问有什么好的学习win Socket编程的源码??
  • Win CE,Palm OS,Symbian,e-JAVA该选哪一个啊,一头雾水中……

关键词

  • 应用程序
  • 数据
  • 信用
  • 控制
  • 网络
  • 令牌
  • 传输
  • flowspec
  • peakbandwidth
  • tokenbucketsize

得分解答快速导航

  • 帖主:ljhjason
  • click2004
  • karonhome

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo