/// 用户基本信息
struct UserInfo
{
unsigned int UserID; /// 用户ID
char NickName[32]; /// 昵称(显示)
unsigned short LogoID; /// 头像ID
unsigned char bMale; /// 性别 UserInfo()
{
UserID = 0;
memset(NickName,0,32);
LogoID = 0;
bMale = 0;
};
};/// 桌子基本信息
struct DeskInfo
{
unsigned char Index; // 所坐位置
unsigned char State; // 桌子状态(游戏中或还没开始游戏)
unsigned char MaxPeople; // 桌子最多可坐多少人
unsigned char CurrentPeople; // 当前桌子上的人数 DeskInfo()
{
Index = 0;
State = 0;
MaxPeople = 0;
CurrentPeople = 0;
};
};
以上是一只桌子(DeskInfo),每只桌子里有N个人(UserInfo),请问怎么让它有MAP的方式关联起来?
让我可以对桌子里的某个人发消息?
就是用SOCKET对桌子里的某个发送信息,还有就是确定某个桌子的人满了?
小弟一菜鸟,望达人们不吝赐教!
struct UserInfo
{
unsigned int UserID; /// 用户ID
char NickName[32]; /// 昵称(显示)
unsigned short LogoID; /// 头像ID
unsigned char bMale; /// 性别 UserInfo()
{
UserID = 0;
memset(NickName,0,32);
LogoID = 0;
bMale = 0;
};
};/// 桌子基本信息
struct DeskInfo
{
unsigned char Index; // 所坐位置
unsigned char State; // 桌子状态(游戏中或还没开始游戏)
unsigned char MaxPeople; // 桌子最多可坐多少人
unsigned char CurrentPeople; // 当前桌子上的人数 DeskInfo()
{
Index = 0;
State = 0;
MaxPeople = 0;
CurrentPeople = 0;
};
};
以上是一只桌子(DeskInfo),每只桌子里有N个人(UserInfo),请问怎么让它有MAP的方式关联起来?
让我可以对桌子里的某个人发消息?
就是用SOCKET对桌子里的某个发送信息,还有就是确定某个桌子的人满了?
小弟一菜鸟,望达人们不吝赐教!
#include <map>
using namespace std;
multimap<struct DeskInfo, struct UserInfo> desks;
socket通信?
struct DeskInfo
{
unsigned char Index; // 所坐位置
unsigned char State; // 桌子状态(游戏中或还没开始游戏)
unsigned char MaxPeople; // 桌子最多可坐多少人
unsigned char CurrentPeople; // 当前桌子上的人数
list<UserInfo> userlist;
};
比如类似这样:struct UserInfo
{
unsigned int UserID; /// 用户ID
char NickName[32]; /// 昵称(显示)
unsigned short LogoID; /// 头像ID
unsigned char bMale; /// 性别 CIOCPContext *pcontext;
CIOCPBuffer *pBuffer;UserInfo()
{
UserID = 0;
memset(NickName,0,32);
LogoID = 0;
bMale = 0;
};
};
这是一种选择,更喜欢用list<unsingned int> userIDList
另外一种可选的方案用另一个结构体来描述这种关联
struct Link
{
unsigned int DeskID;
list<unsingned int> userIDList;
}