我使用route add/del进行路由的添加,尤其需要添加的路由条数较多,耗时比较长。
可不可以用route一次添加或者删除多条路由的,我也试过CreateIpForwordRow函数,但是一直调用成功。
我用如下的方法进行路由添加,添加路由的时候CPU会占用到100%。
环境为WIN7 + VS2008。while(...)
{
WinExec("route add 1.1.1.1 mask 2.2.2.2 3.3.3.3", SW_HIDE);
Sleep(50);
}
可不可以用route一次添加或者删除多条路由的,我也试过CreateIpForwordRow函数,但是一直调用成功。
我用如下的方法进行路由添加,添加路由的时候CPU会占用到100%。
环境为WIN7 + VS2008。while(...)
{
WinExec("route add 1.1.1.1 mask 2.2.2.2 3.3.3.3", SW_HIDE);
Sleep(50);
}
解决方案 »
- 请问:XP远程登录的过程
- 利用udp端口5152侦听信息并转换16进制,下面程序得到的结果总是错误,请指教
- web服务器响应的数据如果解释啊
- BITMAP位图句柄,想做灰度处理
- 求教:请问使用wininet的函数FtpGetFile下载文件的时,第一次读取的文件是正确的,当服务器上的文件修改后(文件名保持不变),ftp第二次
- 如何从DLL导出一个类(基类未导出)?
- 用什么语句实现最小化所有程序?
- 向 网络编程 和 游戏编程 方面发展该看什么书啊?
- 如何实现IP过滤
- win8上面运行MFC程序提示debug massage
- 一个控件类如何获取父窗口的点击事件,鼠标点击不在控件上?
- 关于容器中指针类型的指针变量的疑惑
还是笔误?
row.dwForwardDest = inet_addr("0.0.0.0"); //目标网络
row.dwForwardMask = inet_addr("0.0.0.0"); //掩码
row.dwForwardProto = MIB_IPPROTO_NETMGMT;
row.dwForwardType = MIB_IPROUTE_TYPE_DIRECT;
row.dwForwardMetric1 = 20; //route print 里的Metric
row.dwForwardIfIndex = 0x20003; //网卡索引,用GetAdapterIndex()获取,用arp -a,route print可以查看本机网卡的索引
row.dwForwardNextHop = inet_addr("192.168.0.226"); //网关
DWORD dwRet = ::CreateIpForwardEntry(&row);
但是这个参数不可能每次都通过route print才能得到的啊。需要从代码得到。
据我观察,这个值越小,似乎优先级越高,
比如说同一网络有两个网关时,优先从dwForwardMetric1小的组值转发.