新手问题,如何发送这样的数据!
- C/C++ code
struct socketData{ WORD sDataLen; BYTE bCheckCode; BYTE bVersion; DWORD uiInfoExCode; WORD sMainCode; WORD sSubCode;};struct userData{ UINT uUserID; // 玩家ID BYTE bState; // 玩家状态 char cName[20]; // 玩家昵称};struct gameConfig{ socketData head; // 数据包头 userData userList[2]; // 用户列表数据};struct gameReady{ socketData head; DWORD dwUserID; //用户ID WORD wTableID; //桌子位置 WORD wChairID; //椅子位置 BYTE cbUserStatus; //用户状态};//////////////// 以上为头文件 ///////////////////发送函数:void GameExample::RequestUserSit(struct cUserList* pUser){ cout<<INFO_HEAD"玩家请求加入\r\n"; gameConfig OGConfig; gameConfig* pGConfig; pGConfig=&OGConfig; pGConfig->userList[pUser->iChairId].bState=0; // sHData 为请求过来的socketData结构体指针 sHData->sMainCode=MDM_GR_USER; sHData->sSubCode=SUB_GR_USER_COME; sHData->sDataLen=sizeof(gameConfig); pGConfig->head=*sHData; send((SOCKET)s, (char*)pGConfig, sizeof(gameConfig), 0); // 发送不出去的感觉}
把send发送的结构体换成其它的结构体,如:gameReady,客户端就能收到,但发送gameConfig客户端收不到。
不知道为什么?
上次坛里的老大说用wireshark截数据包看,由于新手不会用,看不出所以然,我这个程序也只是一个demo,
希望高手指点一下。
问题捆了我一个星期。