网络编程课程设计-简单的聊天室程序设计

网络编程课程设计-简单的聊天室程序设计

ID:928813

大小:296.01 KB

页数:20页

时间:2017-09-25

网络编程课程设计-简单的聊天室程序设计_第1页
网络编程课程设计-简单的聊天室程序设计_第2页
网络编程课程设计-简单的聊天室程序设计_第3页
网络编程课程设计-简单的聊天室程序设计_第4页
网络编程课程设计-简单的聊天室程序设计_第5页
资源描述:

《网络编程课程设计-简单的聊天室程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网络与通讯程序设计班级:03073学号:030740303姓名:乔治指导老师:贺刚时间:2010.06.0620目录[摘要]…………………………………………………………………3一设计内容…………………………………………………………..31、设计目的……………………………………………………………………32、设计要求……………………………………………………………………3二设计原理……………………………………………………………3三设计过程…………………………………………………………….41、程序设计流程及源代码…………………………………………………….4(1)流程图……………………………

2、………………………………………….4(2)源代码……………………………………………………………………….4I服务器………………………………………………………………………4II客户端……………………………………………………………………..92、调试分析过程描述……………………………………………………………143、结果分析………………………………………………………………………19[结论]………………………………………………..………………….20[参考文献]………………………………………………….…………..2020一、设计内容1、设计目的  综合运用本课程及计算机网络的相关知识设计并

3、实现一个网络应用程序,以VisualC++作为开发平台,通过实践复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力。2、设计要求采用客户/服务器模式,分为客户端程序和服务器端程序。服务器采用WINSOCKI/O模型中的任一种,支持多个客户同时在线聊天。客户端程序和服务器程序通过网络交换聊天字符串内容,服务器窗口的列表框中显示当前在线用户,支持客户端之间的私聊(可以通过服务器中转,或考虑UDP打洞直接建立端端连接)。二、设计原理服务器端通过socket()系统调用创建一个Socket数组后(即设定了接受连接客户的最大数目),与指定的本地端口绑定bind(),就可以在端口进行侦听

4、listen()。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。socket聊天室基本原理是,抛开CGI(公共网关接口)和www服务器,根据html规范,接收到浏览器的请求以后,模仿www服务器的响应,将聊天内容发回浏览器。在浏览器看来就像浏览一个巨大的页面一样始终处于页面联接状态,这就是一个专门的聊天服务器,一个简化了的www服务器。20三、设计过程1、程序设计流程及源代码(1)流程

5、图(2)源代码I服务器://ServerDlg.cpp:implementationfile//#include"stdafx.h"#include"Server.h"#include"ServerDlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CAboutDlgdialogusedforAppAb

6、outclassCAboutDlg:publicCDialog{public:CAboutDlg();protected:DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)END_MESSAGE_MAP()//////////////////////////////

7、/////////////////////////////////////////////////CServerDlgdialog20CServerDlg::CServerDlg(CWnd*pParent/*=NULL*/):CDialog(CServerDlg::IDD,pParent){m_hIcon=AfxGetApp()->LoadIcon(IDI_ICONAPP);}voidCServerDlg::DoDataExchange(CDataExchange*p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。