阅读:1385回复:8
同一网卡调用两个接收包函数是否正常???
用PtReceivePacket接收到的包的信息,但输出信息中也有是在PtReceive函数中输出的信息,也就是说两个函数都在用,只不过不是同时而已,请问正常否,可以用PtReceivePacket接收包的网卡也可以用PtReceive函数接收包吗?还是PtReceivePacket要调用PtReceive,谢谢!
[编辑 - 10/27/03 by birdtomaster] |
|
沙发#
发布于:2003-10-27 22:03
什么输出信息?
|
|
板凳#
发布于:2003-10-28 10:52
正常
|
|
|
地板#
发布于:2003-10-28 17:12
什么输出信息? 在过滤了所有广播包后才有这种现象,就是原来一直是调用的PtReceivePacket接收包,过滤广播包后,接收某些包还是用的PtReceivePacket,但接收某些包是使用的的PtReceive函数,如接收ICMP,TCP,UDP协议类型的包时用PtReceive函数,当然就输出我在PtReceive中加入的DbgPrint中的信息。取消过滤就只用PtReceivePacket了,我想是不是广播包中有使用什么接收函数的协议内容,在没有这协议时就用PtReceive???谢谢两位 [编辑 - 10/28/03 by birdtomaster] |
|
地下室#
发布于:2003-10-28 21:44
呵呵。 这跟 包的类型没关系啦。
跟你下层 的资源 紧张 度,有没关系啦。 紧张的时候, 可能就会调用 PTRECEIVE . |
|
5楼#
发布于:2003-10-29 19:29
呵呵。 这跟 包的类型没关系啦。 有道理,我在两台机子上试了一下 一台不过滤广播包时也用PtReceive,但是时偶尔用一下; 另一台不过滤广播包就一直不用PtReceive,这台机子配置好些; 但是加上过滤后,几乎均是使用PtReceive,请问这是为什么? 谢谢 |
|
6楼#
发布于:2003-10-29 19:51
呵呵. 回答了别忘了给分呀.
|
|
7楼#
发布于:2003-11-06 11:49
呵呵. 回答了别忘了给分呀. 只好等下一个问题我多给你些分了,因为对一个问题给了一次分以后,再有人回答就不能给分了,没有给分按钮了:-> ^0^ |
|
8楼#
发布于:2003-11-06 14:44
呵呵. 这跟 过虑不过虑真得没什么关系拉.
除非你再 NIC 层过虑, 那对资源 有关系. 是NIC 得资源空了好多. 其实, 你要根本得弄懂 调用 PTRECEIVEPACKET 和 PTRECEIVE 得区别拉. 1. 下层如果调用得是 xxxindicateReceive得 , 那肯定是调用了 ptreceive , 当然下层调用xxxindicateReceive 有它 自己得根据, 例如 资源很紧张拉. 或者网卡本身就 只工作在 这种模式下. 2 , 下层 调用了 xxxindicateReceivePacket, 但 packet 得状态 设为 resource 得. 那肯定也得 调用 ptreceive的 . 3, 你要看 ddk 注意 ptreceivepacket 和 ptreceive 在包处理的区别. 一种情况下, 包可修改. 另一种情况下不可以修改. |
|