今天喝酒了
来源:互联网 发布:水质数据监控中心平台 编辑:程序博客网 时间:2024/04/27 17:18
今天喝酒了
喝得有点小醉,还好能分清楚东南西北,不然都回不来了!!!
喝了晚上睡不着,真是很不爽,干脆起来把那个程序给写完!
于是我把那类QQ项目中的那个存放在线用户的SOCKET类给写完了,还没有调试
具体的调试还等初始化SOCKET后再来调试了
本结构采用来链表动态填加和删除SOCKET
由于头比较晕 ,代码写得很不完善,写这个BLOG的时候忘记了错误处理了,申请空间失败的情况也没有处理
现在本人还是晕晕状态!难受!!下次在也不喝酒了!!
class SocketOnlineNode
{
public:
friend COnlineSocketChian;//设置为友员
private:
SocketOnlineNode* m_Next;//指向下一个节点
long m_bID;//ID 号码
SOCKET m_ClientSocket;//保留对方的socket
};
class COnlineSocketChian
{
public:
COnlineSocketChian();
~ COnlineSocketChian();
BOOL AddSocket(long,SOCKET);//用户登陆时保存其SOCKET
SOCKET FindSocket(long);//更具ID查找其SOCKET
BOOL DeleteSocket(long);//用户下线删去其SOCKET
private:
SocketOnlineNode* m_FirstNode;//指向第一个节点的指针
};
//////=============构造函数==================================
//创建一个头指针和头结点
COnlineSocketChian::COnlineSocketChian()
{
m_FirstNode=new SocketOnlineNode;
m_FirstNode->m_Next=NULL;
}
/////////////======在最后一个元素后面追加新上线的客户ID和SOCKET====================
BOOL COnlineSocketChian::AddSocket(long bID,SOCKET ClientSocket)
{
SocketOnlineNode* CurrentNode=m_FirstNode;
while(CurrentNode)
CurrentNode=CurrentNode->m_Next;
SocketOnlineNode* AddNode=new SocketOnlineNode;//创建要插入的节点
AddNode->m_Next=NULL;
AddNode->m_bID=bID;
AddNode->m_ClientSocket=ClientSocket;
m_FirstNode->m_Next=AddNode;
}
//===============查找SOCKET======================
SOCKET COnlineSocketChian::FindSocket(long ID)
{
SocketOnlineNode* CurrentNode=m_FirstNode;
while(CurrentNode)
{
if(ID==CurrentNode->m_bID)
return CurrentNode->m_ClientSocket;
CurrentNode=CurrentNode->m_Next;
}
return 0;
}
///=========删除下线用户的SOCKET=====================
BOOL COnlineSocketChian::DeleteSocket(long ID)
{
SocketOnlineNode* CurrentNode=m_FirstNode;
while(CurrentNode)
{
if(ID==CurrentNode->m_bID)//删除操作
{
SocketOnlineNode* DeletNode;
DeletNode=CurrentNode;
CurrentNode=CurrentNode->m_Next;
delete DeletNode;
return TRUE;
}
CurrentNode=CurrentNode->m_Next;
}
return FALSE;
}
//============析构函数===================================
~ COnlineSocketChian()
{
SocketOnlineNode* CurrentNode=m_FirstNode;
while(CurrentNode)
{
CurrentNode=m_FirstNode->m_Next;
delete m_FirstNode;
m_FirstNode=CurrentNode;
}
}
- 今天喝酒了
- 今天没喝酒
- 又喝酒了
- 又喝酒了呢
- 喝酒了,说点胡话
- 明晚又要喝酒了
- 喝酒
- 喝酒
- 喝酒
- 喝酒
- 喝酒
- 喝酒
- 喝酒
- 2004.11.23,Tue - 很久没有喝酒了
- 昨天去喝酒了,很无聊
- 喝酒了就不要去游泳
- 昨天喝酒遇到一个东北老乡,教了我不少。
- 这才叫酷!戴上这些装备喝酒你就是酒仙了(组图)
- 心情不好
- 学win32汇编病毒要学什么内容
- 爱我的人我不爱 我爱的人不爱我
- Tomcat 5.5 Notes
- 一天
- 今天喝酒了
- 如何打包JSP工程为war文件[转自sun: Packaging Web Components]
- 说说“从编程到工程”专栏的由来
- 对<钻石+微波炉+光纤 创出防黑客光纤新技术>一文的一点看法
- 全书目录
- 工作中的思考
- 关于《Delphi源代码分析》的讨论
- 美丽的一天 《A Better Day》
- Linux Tips 之 狸猫换太子:LD_PRELOAD