admin 管理员组文章数量: 888141
第二篇文章连接
文章目录
- 三种数据通信传输模式
-
- 一、单工通信
- 二、半双工通信
- 三、全双工通信
- 相关基础知识
-
- 1、__stdcall
- 2、GetIfTable()函数
- 3、MIB_IFTABLE结构体
-
- 细说MIB_IFROW结构体成员
- 4、获取网络带宽
- 5、获取发送比特数和接收比特数,自系统启动
- 6、计算每秒发送比特数和每秒接收比特数
- 7、SetupDiGetClassDevs()函数
-
- 函数定义
- 参数说明
- 返回值
- 说明
- 举例
三种数据通信传输模式
一、单工通信
数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送数据信息,不能实现双向通信。比较安全,例如:广播、电视。
二、半双工通信
传输允许数据在两个方向上传输;在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送消息,可以实现双向通信。例如:对讲机。
三、全双工通信
数据通信允许数据同时在两个方向上传输,全双I通信是两个单工通信方式的组合。它要求发送设备和接收设备都有独立的接收和发送能力;在同一时间可以同时接受和发送消息。例如:电话通信。
相关基础知识
1、__stdcall
详解可点击这里了解
2、GetIfTable()函数
函数
DWORD GetIfTable(
PMIB_IFTABLE pIfTable,
PULONG pdwSize,
BOOL bOrder
);
功能
获取MIB-II接口列表
参数
PMIB_IFTABLE pIfTable:接收缓冲区,接收GetIfTable返回的MIB-II接口表
PULONG pdwSize:pIfTable缓冲区字节数,若缓冲区过小则返回所需大小
BOOL bOrder:指定pIfTable中返回的接口列表条目是否根据接口索引排序
3、MIB_IFTABLE结构体
MIB_IFTABLE结构体
typedef struct _MIB_IFTABLE {
DWORD dwNumEntries;
MIB_IFROW table[ANY_SIZE];
} MIB_IFTABLE, *PMIB_IFTABLE;
typedef struct _MIB_IFROW {
WCHAR wszName[MAX_INTERFACE_NAME_LEN];
DWORD dwIndex;
DWORD dwType;
DWORD dwMtu;
DWORD dwSpeed;
DWORD dwPhysAddrLen;
BYTE bPhysAddr[MAXLEN_PHYSADDR];
DWORD dwAdminStatus;
DWORD dwOperStatus;
DWORD dwLastChange;
DWORD dwInOctets;
DWORD dwInUcastPkts;
DWORD dwInNUcastPkts;
DWORD dwInDiscards;
DWORD dwInErrors;
DWORD dwInUnknownProtos;
DWORD dwOutOctets;
DWORD dwOutUcastPkts;
DWORD dwOutNUcastPkts;
DWORD dwOutDiscards;
DWORD dwOutErrors;
DWORD dwOutQLen;
DWORD dwDescrLen;
BYTE bDescr[MAXLEN_IFDESCR];
} MIB_IFROW, *PMIB_IFROW;
返回值
成功返回NO_ERROR,否则返回值即错误码
头文件和引用库
#include <IPHlpApi.h>
#pragma comme
版权声明:本文标题:Windows网络通信流量和网速监控设计(一) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1735491094h1735455.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论