C语言 获取网卡最大速度

C语言 获取网卡最大速度,第1张

#include <stringh>  

#include <sys/ioctlh>  

#include <stringh>  

#include <errnoh>  

#include <linux/sockiosh>  

#include <net/ifh>  

#include <stdioh>  

#include <stdinth>  

#include <stddefh>  

#include <stdlibh>  

#include <sys/stath>  

#include <sys/typesh>  

#include <sys/socketh>  

  

  

#ifndef SIOCETHTOOL  

#define SIOCETHTOOL     0x8946  

#endif  

#ifndef ARRAY_SIZE  

#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))  

#endif  

  

/ CMDs currently supported /  

#define ETHTOOL_GSET        0x00000001 / Get settings /  

#define ETHTOOL_SSET        0x00000002 / Set settings /  

  

/ hack, so we may include kernel's ethtoolh /  

//typedef unsigned long long __u64;  

typedef __uint32_t __u32;       / ditto /  

typedef __uint16_t __u16;       / ditto /  

typedef __uint8_t __u8;         / ditto /  

  

  

/ The forced speed, 10Mb, 100Mb, gigabit, 25Gb, 10GbE /  

#define SPEED_10        10  

#define SPEED_100       100  

#define SPEED_1000      1000  

#define SPEED_2500      2500  

#define SPEED_10000     10000  

  

/ This should work for both 32 and 64 bit userland /  

struct ethtool_cmd {  

        __u32   cmd;  

        __u32   supported;      / Features this interface supports /  

        __u32   advertising;    / Features this interface advertises /  

        __u16   speed;          / The forced speed, 10Mb, 100Mb, gigabit /  

        __u8    duplex;         / Duplex, half or full /  

        __u8    port;           / Which connector port /  

        __u8    phy_address;  

        __u8    transceiver;    / Which transceiver to use /  

        __u8    autoneg;        / Enable or disable autonegotiation /  

        __u32   maxtxpkt;       / Tx pkts before generating tx int /  

        __u32   maxrxpkt;       / Rx pkts before generating rx int /  

        __u32   reserved[4];  

};  

  

int main(int argc, char argp[])  

{  

    if(argc != 2)  

    {  

        fprintf(stdout, "parameter is erro  usage : getNet ethXX!\n");  

        return 1;  

    }  

    char devname;  

    devname = argp[1] ; // 取得网卡名  

    //devname = "eth0" ; // 取得网卡名  

  

/ >

版本 2

程序集 窗口程序集_启动窗口

程序集变量 network, 网卡 *** 作

子程序 _按钮1_被单击

局部变量 网卡名称, 网卡属性

网卡名称 = network取流量 (“以太网”)

系统_信息框 (“本机网卡速度:” + 到文本 (网卡名称接口速度 ÷ 1000 ÷ 1000) + “ MB”)

模块发你了。

控制面板---网络连接---右键无线网络连接----属性----常规----配置----高级-----无线模式中查看,对应如下:

80211a      80211b    80211g      80211n

54mbps     11mbps    56mbps      300~600Mbps

如无线上网卡速度慢,建议通过以下几种方式进行处理:

1、 手动获取指定IP,给网络指定一个固定的IP地址、DNS地址,这样也能减少系统寻址的时间;

2、 禁用无线网卡,再次启用尝试;

3、 右击“网上邻居-属性”,打开“无线连接-属性-无线网络配置”,点击“查看无线网络”,把速度慢的连接先删除,然后重新搜索并连接;

4、 关闭路由器电源,重新通电尝试;

5、 查看是否和无线发射源距离太远,或中间有强磁干扰等导致速度慢;

6、 病毒、插件也将影响无线上网卡网速,建议在安全模式下,使用杀毒软件从多方面下手修复、查杀、清理插件。

wmic path Win32_PerfRawData_Tcpip_NetworkInterface where "name like '%eth%'" get BytesTotalPersec|findstr "\<[0-9]"

这一句能获取到一个值,过1秒再运行1次,有另外一个值,两个值相减,得到一个数值,就是1秒内流量变化的字节数,就是网速。

本来这个过程可以写成一个批处理完成,可是我不会写。。。用VBA估计我能写出来。

以上就是关于C语言 获取网卡最大速度全部的内容,包括:C语言 获取网卡最大速度、如何查询无线网卡的最大连接速率是多少(即查询该无线网卡是54Mkbs的还是150Mkbs的)、易语言 如何取得当前活动网卡线路速度 100Mbps 1GMbps等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9513704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存