WEB开发网
开发学院软件开发VC 监听以太网(4) Packet32函数SDK 阅读

监听以太网(4) Packet32函数SDK

 2010-07-11 20:44:40 来源:WEB开发网   
核心提示:Remarks:这个函数所接收的数据可以是一组Packets,也可以是网络流量的一个统计数据,监听以太网(4) Packet32函数SDK(6),依赖于网卡的工作模式,接收到的Packet的数量是可变的,丢失的包数等,Return Values:如果执行成功,它依赖于几个因素:当前存储在driver缓冲区中的Packe

Remarks:

这个函数所接收的数据可以是一组Packets,也可以是网络流量的一个统计数据,依赖于网卡的工作模式。

接收到的Packet的数量是可变的。它依赖于几个因素:当前存储在driver缓冲区中的Packet的数目,这些Packet的大小,分配给lpPacket参数的缓冲区的大小。

Packet存储在lpPacket结构的buffer缓冲区内,lpPacket->Length指示着复制到缓冲区的数据的大小。

它的实现也很简单:

先看看AdapterObject->ReadTimeOut是否是-1:

如果不是-1,则调用WaitForSingleObject等候AdapterObject->ReadEvent读事件触发,超时时间为AdapterObject->ReadTimeOut的数值。如果AdapterObject->ReadTimeOut为0,则永不超时。

如果是-1,就表明读完立即返回。

之后,调用ReadFile读取数据。

No.9. PacketGetStats (得到本次捕获的统计数据)

得到当前捕获进程的统计信息。

BOOLEAN PacketGetStats(
LPADAPTER AdapterObject,
struct bpf_stat *s
);

Parameters:

AdapterObject:

[in] 指向一个_ADAPTER结构的指针。

s:

[in, out] bpf_stat结构,通过它,我们可以知道接收到的包数,丢失的包数等。

Return Values:

如果执行成功,返回非零值。

Usage:

C/C++ Usage Sample

struct bpf_stat stat;

PacketGetStats(lpAdapter,&stat) ;

上一页  1 2 3 4 5 6 7  下一页

Tags:监听 以太网 Packet

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接