您的位置:首页 > 其它

NND 那个聊天室的基本结构设计完了

2005-06-11 18:25 260 查看
服务器:接受到消息然后然后广播给所有的用户定义一个结构保存所有的在线SOCKET采用UDP通信转发所有消息并显示于其它的客户端中客户端下线或断开连接发送消息给服务器端,服务器删除其SOCKET定义一下数据包结构struct MessageData //数据包的结构

{

int iMessageType;

char szNickName[11];

char szRecvBuffer[512];

}*RecvBuffer; iMessageType==0表示下线删除其Socket节点,

iMessageType==1表示上线 在SOCKET库中追加新SOCKET

iMessageType==2 表示修改昵称,根据其SOCKET修改昵称

iMessageType==3的时候刷新在线列表,返回昵称给该客户端

iMessageType==4表示群发消息 遍历整个链表

保存在线SOCKET和昵称的结构

class SocketOnlineNode

{

public:

friend COnlineSocketChain;//设置为友员

private:

SocketOnlineNode* m_Next;//指向下一个节点

char m_szNickName[11];//客户端的昵称

SOCKET m_ClientSocket;//保留对方的socket

};

class COnlineSocketChain

{

public:

COnlineSocketChain();

~ COnlineSocketChain();

BOOL AddSocket(char*,SOCKET);//用户登陆时保存其SOCKET

char* FindSocket(SOCKET);//更具ID查找其SOCKET

BOOL DeleteSocket(SOCKET);//用户下线删去其SOCKET

private:

SocketOnlineNode* m_FirstNode;//指向第一个节点的指针

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: