我收到了一个UDP数据包 我想读取数据包域名那部分 怎么读取 谁知道 
 我问了一些人 他们都说把那些16进制码转换过来看看
我用VC编程 代码怎么写啊

解决方案 »

  1.   

    只能在recvfrom的时候得到对方的ip地址
      

  2.   

    int recvMsgSize = sockServer.ReceiveFrom((void*)achBuffer,1541,rSocketAddress,rSocketPort);
      

  3.   

    achBuffer 这里就是接受到得包 我想读取其中域名那个数据
      

  4.   

    那你要知道这个包的数据是什么格式,从第几个字节开始是你的域名,长度是多少
    memcpy(achBuffer+开始位置,xxxx,长度)
      

  5.   

    通过抓包工具 4f ed 01 00 00 01 00 00 00 00 00 00 03 77 77
    77 07 73 6b 65 61 67 6c 65 03 63 6f 6d 00 00 01 00 01 对应的ASCII值是
    o.........w ww.skeagle.com.. ..
    我要读取域名那部分数据
    03 77 77 77 07 73 6b 65 61 67 6c 65 03 63 6f 6d 00 这部分对应的ASCII值是www.skeagle.com
    这就是我想要读取的那部分 我怎么读取啊
      

  6.   

    那就要解析数据包协议了,而不能简单这样复制,需要解析,TCP、HTTP等相关协议
      

  7.   

    我的是UDP数据包 怎么解析啊
      

  8.   

    先从网上搜索一些解析UDP数据包协议的相关适应吧,再者HTTP协议非UDP数据包,应该是TCP数据包
      

  9.   

    你知道位置的话就转过来就好了啊
    读每个字节对应的ASCII值就好了