网络上的数据包好像都是16进制的哦
现在数据包我是知道内容的,在VC的套接字程序中,如何自写数据包呢,
就是把
F7 2F 10 00 是格式头部,消息含义的标志。
50 58 33 57 是PX3W几个字,就是冰封王座的逆序。
15 00 00 00 是版本号,0x15=21,即是1.21版的冰封王座在搜索游戏。
00 00 00 00 是某个魔兽的标志,看似无意义,实际很重要。后面会说明。这样的数据包 自己定义好发送
是不是直接用一个char数组?
在接收了这些数据后 又如何翻译成可以看着懂得字符或者汉字呢
数据的加密方式我知道

解决方案 »

  1.   

    用char数组就可以,但代码不易读,可以做成结构体封装一下
    struct WAR3 {
      DWORD head;
      DWORD w3xp;
      DWORD ver;
      DWORD flag;
    }接收时候
    WAR3 w3;
    recv(...., (char*)&w3, ...);
      

  2.   

    发送这个包要war3游戏接收的
    其实就是模仿war3程序发一个搜索游戏的包(war3在启动局域网时会发送一个这样的包)
    定义为结构体可能war3就不认识了吧
      

  3.   

    定义结构体只是方便使用者,war3收到的只是数据。建议LZ去看看网络编程的书
      

  4.   

    定义了结构体发送,不是在接收的时候也要用结构体吗?
    war3会认识?
    有点晕了
    网编的书看哪本,推荐一下下^_^
      

  5.   

    现在对结构体有点发憷了,前两天试验发送结构体,总是不成功。
    对了 是不是sendto不支持结构体的发送啊?
      

  6.   

    sendto可以发啊,不过要强制转换成char*