📄 chatserverdoc.h
字号:
// ChatServerDoc.h : interface of the CChatServerDoc class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_CHATSERVERDOC_H__E8E2AD0C_509F_11D6_9693_AF0E159D6826__INCLUDED_)
#define AFX_CHATSERVERDOC_H__E8E2AD0C_509F_11D6_9693_AF0E159D6826__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "lstnsock.h"
#include "clntsock.h"
#include <afxmt.h>
class CMsg;
class CChatServerSrvrItem;
#define JOINING_CHAT 1
#define LEAVING_CHAT 2
#define SENDING_CHATTERS_LIST 3
#define SENDING_NICKNAME 4
#define NORMAL_MESSAGE 5
#define DUPLICATE_NICKNAME 6
#define PRIVATE_MESSAGE 7
#define KICK_USER 8
class CChatServerDoc : public COleServerDoc
{
protected: // create from serialization only
CChatServerDoc();
DECLARE_DYNCREATE(CChatServerDoc)
// Attributes
public:
CChatServerSrvrItem* GetEmbeddedItem()
{ return (CChatServerSrvrItem*)COleServerDoc::GetEmbeddedItem(); }
CListeningSocket* m_pSocket;
CPtrList m_msgPtr;
CStringList m_msgList;
CStringList m_pChattersList;
CPtrList m_chattersListPtr;
CPtrList m_connectionList;
BOOL bIsNewChatter;
CString m_ChattersList;
CHARFORMAT m_stdCF;
// Operations
public:
void UpdateClients(int nCode);
void ProcessPendingAccept();
void ProcessPendingRead(CClientSocket* pSocket);
CMsg* AssembleMsg(CClientSocket* pSocket , int nCode);
CMsg* ReadMsg(CClientSocket* pSocket);
void SendMsg(CClientSocket* pSocket, CMsg* pMsg);
void CloseSocket(CClientSocket* pSocket);
void Message(LPCTSTR lpszMessage , CHARFORMAT cf);
BOOL DuplicateName(CString sName);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CChatServerDoc)
protected:
virtual COleServerItem* OnGetEmbeddedItem();
public:
virtual BOOL OnNewDocument();
virtual void DeleteContents();
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
// Implementation
public:
void UpdateMessages();
void UpdateConnections();
void SendUpdatedList(CClientSocket* pSocket);
void DeleteChatter(CMsg* pMsg, CString sName);
void UpdateChattersList(CString string , CClientSocket* pSocket);
void UpdateChattersNames(CString sName, CClientSocket* pSocket);
virtual ~CChatServerDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CChatServerDoc)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CHATSERVERDOC_H__E8E2AD0C_509F_11D6_9693_AF0E159D6826__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -