fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1570回复:8

HuYuguang,gjpland及各位大虾帮忙指点!(50)

楼主#
更多 发布于:2002-07-02 08:33
对PASSTHRU做了修改,把相应包的内容COPY到自己申请的内存中,
每次在相应位置ALLOC和FREE,no problem.

   由于这样做效率低,所以我想改为一次性申请释放,于是在ptbindadapt中申请两个全局内存,让收发包,分别使用这两块内存,当然每次是用前要zeromemory。最后在mphalt释放。

   但是,奇怪的事发生了,只在send时使用全局的内存,no  
 problem,但在receive中使用时,上网,发现网页只能打开部分。
 通过ftp试验,发现肯定有错包。还有,上qq ,ping时,
 no problem。

 哎,真是很奇怪,不明白怎么回事。

 繁劳各位,如果哪位知道是什么原因,或是遇到过类似情况,
   清帮忙指点一下!
   谢谢!

嗬嗬!
  
有点意思。。。 呵呵!
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2002-07-02 09:07
对PASSTHRU做了修改,把相应包的内容COPY到自己申请的内存中,
每次在相应位置ALLOC和FREE,no problem.

   由于这样做效率低,所以我想改为一次性申请释放,于是在ptbindadapt中申请两个全局内存,让收发包,分别使用这两块内存,当然每次是用前要zeromemory。最后在mphalt释放。

   但是,奇怪的事发生了,只在send时使用全局的内存,no  
 problem,但在receive中使用时,上网,发现网页只能打开部分。
 通过ftp试验,发现肯定有错包。还有,上qq ,ping时,
 no problem。

 哎,真是很奇怪,不明白怎么回事。

 繁劳各位,如果哪位知道是什么原因,或是遇到过类似情况,
   清帮忙指点一下!
   谢谢!

嗬嗬!
  
 


我建议你查一查大包的处理。

不再回忆从前,我已经生活在幸福当中。
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-02 15:10
好像不是大包的问题吧,我还没encry,mac,add iphead.
还没调我的分片代码来。


嗬嗬!
有点意思。。。 呵呵!
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-02 15:37
你机子上装了几块网卡?要是多余一块的话,好像在PtUnbindAdapter里释放比较好。但我感觉你的现象好像不是这里的问题,给你参考吧。
按第一贴的“给分”键,给分。
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-02 17:45
你机子上装了几块网卡?要是多余一块的话,好像在PtUnbindAdapter里释放比较好。但我感觉你的现象好像不是这里的问题,给你参考吧。


thank u.
不过,我是一块网卡。应该不是这的问题。

嗬嗬!
有点意思。。。 呵呵!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-07-03 08:56
有考虑代码的重入吗?
bingjie
驱动小牛
驱动小牛
  • 注册日期2001-08-15
  • 最后登录2007-11-29
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-07-03 09:41
应该是代码的重入造成的,我以前也碰到过这样的问题,由于未做同步处理,结果每当IP包超过1420字节时就会有错。加了spinlock就搞定了。
zhuzc
驱动中牛
驱动中牛
  • 注册日期2001-09-01
  • 最后登录2005-04-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-07-03 13:32
好方法
我是树上的那只鸟,整理着自己的羽毛,看着城市的喧嚣……
smallbarrow
驱动小牛
驱动小牛
  • 注册日期2002-06-05
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2002-07-03 16:56
 
应该是代码的重入造成的,我以前也碰到过这样的问题,由于未做同步处理,结果每当IP包超过1420字节时就会有错。加了spinlock就搞定了。


我也碰到过fenger_li一样的问题,我检查过我每次接收到packet中buffer的数量,都是1,并且没有碰到ip超过1420的情形(有可能我检查的不太仔细,太多行,总可能有遗漏)。
我按照bingjie的方法试过,还是不行(我在padapt结构中加入了一个自己定义的锁,在ptbindadapter中初始化,在ptreceivepacket中使用之前锁定然后在mpreturnpacket中释放这个锁)。

冰杰老兄,能帮我分析一下这个问题吗?什么环节有问题呢?
嗒嗒的,是那马蹄 是我的心声 别了 一瞬间的花朵
游客

返回顶部