- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ServerSocket使用方法
注意用MFC向导创建时 要记得选择 Windows Socket复选框
================================服务端程序================================
控件ID及描述
IDC_STATIC_ONLINE_USER Group Box 控件,用来显示在线用户:IDC_LIST_ONLINE_USER 列表框控件,用来列出在线用户IDC_EDIT_INFO 编辑框控件,用来显示在线用户的信息IDC_BUTTON_QUIT 按钮控件,单击它退出程序
(1)、添加新类,类名CServerSocket,类是从CSocket派生来的。
1、ServerSocket.h 文件夹中,添加下面代码
class CServerSocket : public CSocket{// Attributespublic:
// Operationspublic:CServerSocket();virtual ~CServerSocket();
CPtrList connectList; // 声明connectList是CPtrList类型
// Overridespublic:// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CServerSocket)public:virtual void OnAccept(int nErrorCode); // ServerSocket.cpp中OnAccept程???段声明。//}}AFX_VIRTUAL
// Generated message map functions//{{AFX_MSG(CServerSocket) // NOTE - the ClassWizard will add and remove member functions here.//}}AFX_MSG
// Implementationprotected:};
2、ServerSocket.cpp 文件夹中,添加下面代码
void CServerSocket::OnAccept(int nErrorCode) {// TODO: Add your specialized code here and/or call the base classCClientSocket *clientSocket = new CClientSocket(connectList); // 创建一个套接描述字 clientSocket)Accept(*clientSocket);
clientSocket-m_dlgServer = (CTCPChatServerDlg *)::AfxGetMainWnd(); // 用来获得该程序的主窗口指针
connectList.AddTail(clientSocket); // 函数负责将套接字信息往CPtrList里加记录:
CSocket::OnAccept(nErrorCode); // 返回错误}
(2)、添加新类,类名为CClientSockt,该类从CSocket派生而来。1、在ClientSockket.h文件中,添加如下用组字体标示代码:#include TCPChatServerDlg.h
class CClientSocket : public CSocket{// Attributespublic:CPtrList *m_pPtrlist; // // 声明m_pPtrlist是CPtrList类型CTCPChatServerDlg* m_dlgServer;
// Operationspublic:CClientSocket(CPtrList *pPrtList);virtual ~CClientSocket();
CString m_csNickName; // 用户昵称 变量
// Overridespublic:// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CClientSocket)public:virtual void OnReceive(int nErrorCode); // 接受数据 函数原型virtual void OnClose(int nErrorCode); // 关闭程序 及 套接口 函数原型//}}AFX_VI
文档评论(0)