ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:102.96KB ,
资源ID:21556993      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21556993.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Windows网络编程课程设计文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Windows网络编程课程设计文档格式.docx

1、 enum IDD = IDD_DIALOG1 ; UINT m_PortSet; /AFX_DATA/ Overrides / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CPortSetDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementationprotected: / Generated message map functions /AFX_MSG(

2、CPortSetDlg) / NOTE: the ClassWizard will add member functions here /AFX_MSG DECLARE_MESSAGE_MAP();服务器端口设置好后,系统就会自动弹出一个对话框提示“服务器端口设置ok!”,点“确定”后,就会进入服务器端主界面。主界面主要有有个输入框,及4个功能模块:(1)设置端口功能模块,主要是用于设置服务器端口号,主要代码如下:void CBCServerDlg:OnPortSet() / TODO: Add your control notification handler code here CPort

3、SetDlg dlg; if(dlg.DoModal()=IDOK) m_pSocket=new CListenSocket; if(m_pSocketCreate(dlg。m_PortSet) if(!m_pSocket-Listen() MessageBox(服务器端口设置错误!,服务器端口设置”); else MessageBox(”服务器端口设置ok!,”服务器端口设置”); (2)发送消息功能模块主要代码:OnOK() Add extra validation here if(!m_SocketList。IsEmpty() UpdateData(); POSITION pos; CC

4、lientSocket * pSocket =(CClientSocket ) m_SocketList。GetHead(); for(pos=m_SocketList。GetHeadPosition();pos!=NULL;) pSocket=(CClientSocket * )m_SocketList.GetNext(pos); pSocketSend(LPCTSTR(m_OutInfo),m_OutInfo.GetLength(); else MessageBox(”不能建立服务器连接,不能广播信息”,错误提示对话框); /CDialog:OnOK();(3) 清除消息功能模块主要代码:

5、OnClearOut() m_OutInfo。Empty(); UpdateData(false);(4) 关闭服务器功能模块主要代码:void CBCServerDlg:OnCancel() Add extra cleanup here if(m_pSocket) delete m_pSocket; m_SocketList.RemoveAll(); CDialog:OnCancel(); CDialog:其中有个与用户连接是否成功的判断提示代码为: / TODO:m_SocketList.IsEmpty() CClientSocket * pSocket =(CClientSocket )

6、 m_SocketList.GetHead(); for(pos=m_SocketList.GetHeadPosition(); pSocket=(CClientSocket * )m_SocketList。GetNext(pos); pSocket-Send(LPCTSTR(m_OutInfo),m_OutInfo.GetLength(); else MessageBox(不能建立服务器连接,不能广播信息错误提示对话框”);OnOK();void CClientSocket:OnReceive(int nErrorCode) Add your specialized code here an

7、d/or call the base class (CBCServerDlg *)(AfxGetApp()-m_pMainWnd)GetSocketMsg(this); CSocket:OnReceive(nErrorCode);class CBCServerDlg : CBCServerDlg(CWnd pParent = NULL); void GetSocketMsg(CClientSocket * pSocket); CPtrList m_SocketList; CListenSocket * m_pSocket; / Dialog Data /AFX_DATA(CBCServerDl

8、g) enum IDD = IDD_BCServer_DIALOG ; CString m_OutInfo; /AFX_DATA /AFX_VIRTUAL(CBCServerDlg) protected: virtual void DoDataExchange(CDataExchange pDX);protected: HICON m_hIcon; /AFX_MSG(CBCServerDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint

9、(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnPortSet(); /afx_msg void OnClearIn(); afx_msg void OnClearOut(); virtual void OnCancel(); virtual void OnOK(); /AFX_MSG;程序运行开始时,先初始化服务器端程序主要代码是:BOOL CBCServerDlg:OnInitDialog()OnInitDialog(); / Add About。” menu item to system menu。 / IDM_ABOUTBOX

10、 must be in the system command range。 ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) CString strAboutMenu; strAboutMenu。LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty() pSysMenuAppendMenu(MF_SEPARATOR); p

11、SysMenuAppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); / Set the icon for this dialog. The framework does this automatically / when the applications main window is not a dialog SetIcon(m_hIcon, TRUE); / Set big icon SetIcon(m_hIcon, FALSE); / Set small icon Add extra initialization here OnPortSet

12、(); return TRUE; / return TRUE unless you set the focus to a controlOnSysCommand(UINT nID, LPARAM lParam) if (nID & 0xFFF0) = IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAbout。DoModal(); else CDialog:OnSysCommand(nID, lParam);class CClientUseSocket : public CSocket/ Attributespublic:/ Operations CClientUse

13、Socket(); virtual CClientUseSocket(); /AFX_VIRTUAL(CClientUseSocket) public: virtual void OnReceive(int nErrorCode); /AFX_MSG(CClientUseSocket) / NOTE - the ClassWizard will add and remove member functions here。用户端程序主要有2个功能模块.(1)连接服务器,点击后,会弹出一个输入服务器IP地址,和服务器端号.主要代码为:void CUseSocketDlg:OnConnect() CC

14、onnectDlg dlg; if(dlg。DoModal()=IDOK) m_ServerName=dlg。m_ServerName; m_PortAddress=dlg。m_PortAddress; m_pSocket=new CClientUseSocket();(ConnectServer(m_pSocket) m_pSocket=NULL; return; MessageBox(Socket连接成功!”,user program);void CUseSocketDlg:OnDisconnect() delete m_pSocket;Socket连接已经断开,提示”); else Me

15、ssageBox(”当前未连接到任何服务器!,”提示”);OnConceal() delete m_pSocket; class CUseSocketApp : public CWinApp CUseSocketApp(); /AFX_VIRTUAL(CUseSocketApp) public: virtual BOOL InitInstance(); /AFX_MSG(CUseSocketApp) / DO NOT EDIT what you see in these blocks of generated code ! /AFX_MSG;GetSocketMsg(CClientUseSoc

16、ket pSocket) BOOL MsgEnd=false; CString Msg=收到服务器消息:”; char MsgBuf100; int bufsize=100; do strcpy(MsgBuf,”); int left=pSocket-Receive(MsgBuf,bufsize); if(left100left0) MsgEnd=true; MsgBufleft=0; Msg+=MsgBuf; while(!MsgEnd); MessageBox(Msg,user program”);BOOL CUseSocketDlg:ConnectServer(CClientUseSoc

17、ket pSocket) if(!(pSocket-Create() delete pSocket; pSocket=NULL;socket创建不成功”,提示 return false;(pSocketConnect(m_ServerName,m_PortAddress) delete pSocket; MessageBox(”服务器连接失败”,”提示”); return false; return true;(2)用户端程序另一个功能模块是断开连接,主要代码是: m_pSocket=NULL;Socket连接已经断开”,”提示,”提示class CConnectDlg : CConnectD

18、lg(CWnd pParent = NULL); /AFX_DATA(CConnectDlg) enum IDD = IDD_DIALOG1 ; UINT m_PortAddress; CString m_ServerName; /AFX_DATA /AFX_VIRTUAL(CConnectDlg) /AFX_VIRTUAL /AFX_MSG(CConnectDlg) / NOTE:5。调试与测试(1) 运行服务器端程序,就会弹出“端口设置对话框”如下图:(2)点“确定后,就会弹出提示对话框,如截图:(3)点这个对话框的“确定”后,就进入服务器端主界面,如截图:(4) 设置端口对话框用于设置服

19、务器端口,“发送”功能用于服务器向全部客户发送信息,如截图:这时运行客户端就会收到服务器发来的消息,如截图:(5)如果,客户端设置的IP和端口与服务器不同,服务器不能与客户建立连接,就会弹出提示对话框,如截图:(6)当运行用户端程序后,会弹出用户对话框,如截图:(7)点击“连接服务器”后,会进入设置IP与端口对话框,如截图:6。设计体会 通过本局域网消息广播系统的设计与开发,深深地让我们明白把理论用于实践的重要性,本来对学计算机的同学来说,实践性是非常重要的,如果只注重计算机理论,而忽视它的运用与操作性,那么可能永远也不能真正的学会计算机.在开发本系统过程中,我们也发现了自己在本课程及计算机理论的一些知识上的不足,希望能通过这次课程设计的开发,来加强我们对理论知识的巩固,从而本次的系统的开发来引导我们进行相关知识的学习与扩展,总之,本系统的设计与开发,让我们实践能力提高了,也有了一次实践的经历,希望以后会通过更多的实践机会来提高编程开发能力。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1