daisyboy
驱动小牛
驱动小牛
  • 注册日期2002-10-24
  • 最后登录2012-05-21
  • 粉丝3
  • 关注0
  • 积分599分
  • 威望140点
  • 贡献值1点
  • 好评度56点
  • 原创分0分
  • 专家分0分
阅读:2067回复:7

采用winpcap实现802.1x客户端的一个问题。求救!!

楼主#
更多 发布于:2004-08-04 17:12
我采用readfile来实现从网卡采集数据包。可是,一旦机器繁忙的时候,readfile就采集不到数据了,return 0,采集到的字节也是0。造成客户端5分钟就自动断线一次,是什么原因啊????

BOOLEAN PacketReceivePacketNtx(LPADAPTER AdapterObject,LPPACKET lpPacket,BOOLEAN Sync)
{
BOOLEAN res;
char msg[200];
DWORD dwError;

    if(AdapterObject ==NULL ||lpPacket == NULL) return FALSE;
if((int)AdapterObject->ReadTimeOut != -1)
{
WaitForSingleObject(AdapterObject->ReadEvent, (AdapterObject->ReadTimeOut==0)?INFINITE:AdapterObject->ReadTimeOut);
}

lpPacket->OverLapped.Offset = 0;
lpPacket->OverLapped.OffsetHigh = 0;
lpPacket->OverLapped.hEvent = AdapterObject->ReadEvent;

ResetEvent(AdapterObject->ReadEvent);

res = ReadFile(AdapterObject->hFile,
lpPacket->Buffer,
lpPacket->Length,
&lpPacket->ulBytesReceived,
&lpPacket->OverLapped);

if(!res)
{
dwError = GetLastError();
switch (dwError)
{
        case ERROR_HANDLE_EOF:
{
// we have reached the end of the file
break;
}
        case ERROR_IO_PENDING:
{
// asynchronous i/o is still in progress
// check on the results of the asynchronous read
res = GetOverlappedResult(AdapterObject->hFile,
&lpPacket->OverLapped,
&lpPacket->ulBytesReceived,
FALSE) ;
break;
}
default:
break;
}
}
else
{
res = GetOverlappedResult(AdapterObject->hFile,
&lpPacket->OverLapped,
&lpPacket->ulBytesReceived,
FALSE) ;
}
lpPacket->bIoComplete = res;
return res;
}
合作c/c++/ndis/pppoe/802.1x!
daisyboy
驱动小牛
驱动小牛
  • 注册日期2002-10-24
  • 最后登录2012-05-21
  • 粉丝3
  • 关注0
  • 积分599分
  • 威望140点
  • 贡献值1点
  • 好评度56点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-04 17:39
有没有哪个小牛牛给我一段他的实现方法的代码?

谢!
合作c/c++/ndis/pppoe/802.1x!
tiamo
VIP专家组
VIP专家组
  • 注册日期2002-02-26
  • 最后登录2018-01-09
  • 粉丝17
  • 关注4
  • 积分50分
  • 威望142点
  • 贡献值1点
  • 好评度40点
  • 原创分2分
  • 专家分15分
  • 原创先锋奖
  • 社区居民
板凳#
发布于:2004-08-04 22:01
802.1x客户端?

我有写一个802.1x认证的客户端的
华为三层交换机的

你是作这个的么......
daisyboy
驱动小牛
驱动小牛
  • 注册日期2002-10-24
  • 最后登录2012-05-21
  • 粉丝3
  • 关注0
  • 积分599分
  • 威望140点
  • 贡献值1点
  • 好评度56点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-05 08:48
802.1x客户端?

我有写一个802.1x认证的客户端的
华为三层交换机的

你是作这个的么......


对啊对啊对啊.老兄怎么解决采集数据包的问题,也是用readfile么?
合作c/c++/ndis/pppoe/802.1x!
paddy
驱动牛犊
驱动牛犊
  • 注册日期2004-05-14
  • 最后登录2005-10-26
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-05 11:21
  我做的相对简单许多,不过这个帖子还是很有价值的!
tiamo 老兄,你的东西能共享不?
  mail:paddy_zhao@sina.com
zhaohh@gwtt.com 相识旧时缘,希望大家多帮忙!
tiamo
VIP专家组
VIP专家组
  • 注册日期2002-02-26
  • 最后登录2018-01-09
  • 粉丝17
  • 关注4
  • 积分50分
  • 威望142点
  • 贡献值1点
  • 好评度40点
  • 原创分2分
  • 专家分15分
  • 原创先锋奖
  • 社区居民
5楼#
发布于:2004-08-06 01:05
这分代码不在我现在使用的机器上面
星期天晚上我可以给你发到论碳上面...

如果你要找华为802.1x认证的细结
看看我n早的时候写的个帖子吧...

[程序员联盟]--实战华为802.1x认证客户端-tiamo[征文]
http://www.51see.com/html/bbs/public/200304241808302383.html
当初心血来潮发到mop上的.....

原来的那个帖子是有图有连接的
这个是转载的没有图也没有连接了

我似乎还保留有认证的sniffer数据包...
星期天晚上可以一起给你...

我没有用readfile这种函数
大部分用的是wpcap.dll里面的函数
daisyboy
驱动小牛
驱动小牛
  • 注册日期2002-10-24
  • 最后登录2012-05-21
  • 粉丝3
  • 关注0
  • 积分599分
  • 威望140点
  • 贡献值1点
  • 好评度56点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-08 09:02
这分代码不在我现在使用的机器上面
星期天晚上我可以给你发到论碳上面...

如果你要找华为802.1x认证的细结
看看我n早的时候写的个帖子吧...

[程序员联盟]--实战华为802.1x认证客户端-tiamo[征文]
http://www.51see.com/html/bbs/public/200304241808302383.html
当初心血来潮发到mop上的.....

原来的那个帖子是有图有连接的
这个是转载的没有图也没有连接了

我似乎还保留有认证的sniffer数据包...
星期天晚上可以一起给你...

我没有用readfile这种函数
大部分用的是wpcap.dll里面的函数


给我一份代码做参考吧!!!!!!!!!!!!
急死了。。。来北京我请你吃饭啊!!
daisyboy@sohu.com
QQ: 7252296
合作c/c++/ndis/pppoe/802.1x!
tiamo
VIP专家组
VIP专家组
  • 注册日期2002-02-26
  • 最后登录2018-01-09
  • 粉丝17
  • 关注4
  • 积分50分
  • 威望142点
  • 贡献值1点
  • 好评度40点
  • 原创分2分
  • 专家分15分
  • 原创先锋奖
  • 社区居民
7楼#
发布于:2004-08-08 14:42
说了发就一定会给的
呵呵
附件名称/大小 下载次数 最后更新
2004-08-08_802.1x.rar (481KB)  46
游客

返回顶部