1、成员2:成员3:2、 程序的开发环境和运行环境所使用开发语言、操作系统。所运行的机器配置要求。3、 功能说明和用户手册说明程序的功能,说明程序的如何使用/一个网络通信文档的例子一、系统概要 本系统完成的功能有发送共享信息,看到上线人数,监听人员退出功能。界面设计友好。利用VC+6的MFC完成本实验。系统在Windows操作系统下测试成功;二、通信规范的制定基于TCP/IP的通信基本上都是利用SOCKET套接字进行数据通讯,程序一般分为服务器端和用户端两部分。规范如下:第一部分服务器端 1、创建服务器套接字(create)。2、服务器套接字进行信息绑定(bind),并开始监听连接(listen)
2、。3、接受来自用户端的连接请求(accept)。4、开始数据传输(send/receive)。5、关闭套接字(closesocket)。第二部分客户端 1、创建客户套接字(create)。2、与远程服务器进行连接(connect),如被接受则创建接收进程。3、开始数据传输(send/receive)。4、关闭套接字(closesocket)。CSocket的编程步骤:(注意我们一定要在创建MFC程序第二步的时候选上Windows Socket选项,其中ServerSocket是服务器端用到的,ClientSocket是客户端用的。)三、主要模块的设计分析1)服务端图1 服务端流程图在VC6.0
3、上完成的步骤如下1.完成界面设计点击菜单打开服务器连接成功界面2.建立CSOCKET类。增加成员函数其中,CSOCKET的头文件如下所示CSOCKET.H#if !defined(AFX_CSOCKET_H_38AF0C49_B790_4640_A4C5_3D6CB3094BF9_INCLUDED_)#define AFX_CSOCKET_H_38AF0C49_B790_4640_A4C5_3D6CB3094BF9_INCLUDED_#if _MSC_VER 1000#pragma once#endif / _MSC_VER / csocket.h : header file/#include
4、myliantianshiDlg.hzifuwuqi.h/ csocket command targetclass csocket : public CSocket/ Attributespublic:/ Operations csocket(); virtual csocket();/ Overrides void OnClose(int n); void OnReceive(int n); void OnAccept(int n); void SetParent(zifuwuqi* servdlg,int num); / ClassWizard generated virtual func
5、tion overrides /AFX_VIRTUAL(csocket) /AFX_VIRTUAL / Generated message map functions /AFX_MSG(csocket) / NOTE - the ClassWizard will add and remove member functions here. /AFX_MSG/ Implementationprotected:private: zifuwuqi* zidlg; int rennum;/记录在线人数 zifuwuqi* servdlg;/指向对话框类;详细代码见代码文件。2)聊天客户端图2 聊天客户端
6、流程图1.界面设计如下首先运行服务器,然后输入所运行的服务器的服务器IP和端口号。并输入昵称。点击连接服务器。连接成功后就可以聊天了。2.对话框主要函数如下void CMyliaotianshikehuDlg:OnClose()/退出连接处理函数 MessageBox(失去连接或者找不到服务器); CWnd *cw=GetDlgItem(IDC_EDIT3); cw-EnableWindow(true); cw=GetDlgItem(IDC_EDIT4); cw=GetDlgItem(IDC_connect); cw=GetDlgItem(IDC_EDIT5);四、系统运行效果 (要求有屏幕截图)1.服务器。主界面点击服务器下拉菜单,接着点击打开服务器名称输入127.0.0.1,端口输入8080;然后开始监听.显示界面如下2.聊天客户端五、心得与体会这个聊天室的基本功能是基本实现了。它可以实现在线人数的显示,以及人员进入的信息反馈。不过,这个聊天室和当前的优秀聊天工具相比还有较大差距,但我相信,经过我的努力,我也能够做出能和当前的优秀聊天工具相媲美的聊天软件。完成了这次课程设计,对我的动手能力有很大提高,特别是对VC+6.0的操作以及对MFC的CSOCKET类的理解和使用方面。但是,也存在一些缺点,就是对理论知识的理解上尚不够透切,今后我要加强理论知识的学习。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1