racle
驱动牛犊
驱动牛犊
  • 注册日期2009-10-25
  • 最后登录2010-07-06
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望251点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1470回复:1

为了返回指定数据给一个TCP请求,修改收到的包还是构造一个新包方便?

楼主#
更多 发布于:2009-12-06 06:59
争对所有收到的数据包,我想指定返回一些数据.

(1) 我是改这些收到包的内容为统一的内容,然后让他return回receive里去实现返回同样的东西呢,
(2) 还是我直接把包扔掉,新构造一个包,然后直接sendpacket给对方发回去还是调用一个函数,让NDIS知道这个新包需要发给之前那个请求的?

如果用第2种,TCP包有三次握手,我新发的包是否只要指定对方的MAC,IP,对方收到就知道是他之前发的包的回应?NDIS SENDPACKET函数里面有相关的参数吗?

如果是第1种,实现流程是否我收到包,然后我改里面的内容,再return回receive里去?如果是的话,恳请大家把该包的代码回一回.我看了不少例子,可惜没有比较对应的案例.

我个人偏向第1种方法,理论上似乎比较方便实现.
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
沙发#
发布于:2009-12-06 17:27
看了两遍,依然没有看的非常明白。

建议:

1 把tcp/ip数据包和流程搞清楚

2 根据需要返回的内容,来决定使用那种方案比较合适
走走看看开源好 Solaris vs Linux
游客

返回顶部