UCBUG游戏网-最安全的绿色下载站点!

ucbug游戏网 > 新闻中心 > 游戏开发 > → 网络游戏的封包技术揭密(3)

网络游戏的封包技术揭密(3)

作者:admin 来源:未知 时间:2009-10-09 15:54



  4)用WSAIoctl来注册WSA的输入输出组件,其用法如下:

INTEGER WSAIoctl(s:INTEGER,
dwIoControlCode : INTEGER,
lpvInBuffer :INTEGER,
cbInBuffer : INTEGER,
lpvOutBuffer : INTEGER,
cbOutBuffer: INTEGER,
lpcbBytesReturned : INTEGER,
lpOverlapped : INTEGER,
lpCompletionRoutine : INTEGER
);

  5)下面做死循环,在死循环块里,来实现数据的接收。但是徇环中间要用Sleep()做延时,不然程序会出错。

  6)在循环块里,用recv函数来接收数据,recv函数用法如下:

INTEGER recv (s : INTEGER,
buffer:Array[0..4095] of byte,
length : INTEGER,
flags : INTEGER,
);

  7)在buffer里就是我们接收回来的数据了,如果我们想要知道数据是什么地方发来的,那么,我们要定义一定IP包结构,用CopyMemory()把IP信息从buffer里面读出来就可以了,不过读出来的是十六进制的数据需要转换一下。

  看了封包捕获的全过程序,对你是不是有点起发,然而在这里要告诉大家的是封包的获得是很容易的,但是许多ucbug游戏网的封包都是加密的,如果你想搞清楚所得到的是什么内容还需要自己进行封包解密。