short command         GRP_ADDNEWGP  命令字
uint32 uin         创建人
char account[32] 创建人的名称
char token[64] 令牌,暂无具体用法
char gname[32] 群名称
char bulletin[80] 群公告
char szflag[16] 群标志,暂无具体用法
char classic[80] 群分类
GRP_ADDNEWGP=1表示创建群,现在利用php用SOCKET连接,用pack打包发送,不知道这个包如何打。
        $GRP_ADDNEWGP = 1;
        $GRP_ADDNEWGP = unpack("n",pack("S",$GRP_ADDNEWGP));//pack("S",$GRP_ADDNEWGP)
        $uin = unpack("N",pack("I",$uin));//pack("I",$uin)
        $account = $account."\0";
        $token = $token."\0";
        $gname = $gname."\0";
        $bulletin = $bulletin."\0";
        $szflag = $szflag."\0";
        $calsssic = $calsssic."\0";
        $buf = pack("S",$GRP_ADDNEWGP[1]).pack("I",$uin[1]).sprintf("%-32s",$account).sprintf("%-64s",$token).sprintf("%-32s",$gname).sprintf("%-80s",$bulletin).sprintf("%-16s",$szflag).sprintf("%-80s",$calsssic);
这个是之前公司的留下的,我调试了不行。。谁能帮我解决下,100元报酬,虽然不多,算你的劳务费!!
QQ2696450997

解决方案 »

  1.   

    不是有个fsocket吗?把你的数据socket过去目标地址就行了。
      

  2.   

    对应pack格式串
    v  short command  GRP_ADDNEWGP  命令字
    V  uint32 uin  创建人
    a32  char account[32]  创建人的名称
    a64  char token[64]  令牌,暂无具体用法
    a32  char gname[32]  群名称
    a80  char bulletin[80]  群公告
    a16  char szflag[16]  群标志,暂无具体用法
    a80  char classic[80]  群分类如果对方要求的是结构,则
    $s = pack('vVa32a64a32a80a16a80', $GRP_ADDNEWGP, $uin, $account, token, $gname, $bulletin, $char, $classic);