最近在写一个HOOK RECV的代码,对这方面的机制仅仅是肤浅的了解。。在VISTA+VS2008(VC++2008,虽然不上手,不过还是勉强写出来了DLL,主程序是VB.NET的,在博客上已经发了)下写的编码,测试没有问题。可是到XP下就出现问题:
当调用NRETURN=RECV(S,BUF,LEN,F)后,如果NRETURN=-1或0则直接返回,不读BUF,如果大于0则读BUF,可是得到的不是“整个封包”了……。有什么好办法可以得到这个封包内容吗?(排除缓冲区小于封包大小的情况)
GOOGLE上翻了个遍,也没找到解决方法。SOCK的SELECE可以解决这个问题吗?请教各位~~~原理、方法、解决方案,不一定要代码。。
才发现分不多。。。不好意思,刚来安家,就200分…………虽然这个问题明显不是200分能解决的事。。。不过我相信还是有热心人拉小弟一把的……