Rout_66
驱动牛犊
驱动牛犊
  • 注册日期2001-07-08
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1851回复:2

帮帮我~~~

楼主#
更多 发布于:2001-08-10 23:17
我要从网卡读取来自某设备的高速数据,在2000下编写NDIS的协议
驱动程序,由于速度较高,只能异步读写,我的协议驱动为
NTDDK下的packet程序,只是将TRANSMIT_PACKET常量变为64,
在WIN32应用连续发送64个ReadFile,然后用WaitForMultiObjectEx
等待异步事件的发生,可是当速率达到一定程度时,就开始丢包
发10000个包只能收到5000个,怎么解决这个问题还是用Protocol Driver 开发实时的数据采集根本就不行?
  谁来告诉我呀~~~~
lyx210
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-18 12:32
我有一个同事对packet进行了一点修改,他将所有的包全部存在packet的一个自定义链中(当然,有个包数上限),应用使用deviceiocontrol得到链中包数和长度,再使用readfile得到包内容。
如果你包处理能力较强,不会发生掉包现象,除非包数越过上限。
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2001-08-18 16:19
protocol driver不经过修改本身的处理能力已经比较强,
99年我做过试验,pII400+196M内存,插4块100M网卡,
短时间锋值速度下丢失率不超过1%。

注意你的应用层策略。尽可能的使用内存而不是硬盘,
提高接受线程优先级,精确异步操作处理。
不再回忆从前,我已经生活在幸福当中。
游客

返回顶部