c++聊天.docx
- 文档编号:890364
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:26
- 大小:285.32KB
c++聊天.docx
《c++聊天.docx》由会员分享,可在线阅读,更多相关《c++聊天.docx(26页珍藏版)》请在冰豆网上搜索。
c++聊天
攀枝花学院课程设计
题目:
聊天程序设计
院(系):
数学与计算机学院
年级专业:
信息与计算机科学
姓名:
高柳春
学号:
201410802007
指导教师:
张俊坤
二〇一五年七月十日
攀枝花学院教务处制
攀枝花学院本科学生课程设计任务书
题 目
聊天程序
1、课程设计的目的
通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)
该程序实现聊天功能,包括服务器段程序和客户端程序。
要求:
(1)客户端程序:
可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的消息。
(2)服务器端程序:
可将消息发送到客户端和接受客户端发送来的消息。
3、主要参考文献
[1].C++Primer中文版(第5版).[美]StanleyB.Lippman,[美]JoséeLajoie,[美]BarbaraE.Moo.电子工业出版社,2013-9-1
[2].VisualC++从入门到精通(第3版).明日科技.清华大学出版社.2012.9
[3].VisualC++网络编程案例实战.梁伟.清华大学出版社.2013.9
4、课程设计工作进度计划
序号
时间(天)
内容安排
备注
1
2
分析设计准备
6.29-6.30
2
编程调试阶段
7.1-7.7
3
2
编写课程设计报告
7.8-7.9
4
1
考核
7.10
总计
10(天)
指导教师(签字)
日期
年月日
教研室意见:
年月日
学生(签字):
接受任务时间:
年月日
注:
任务书由指导教师填写。
课程设计(论文)指导教师成绩评定表
题目名称
评分项目
分值
得分
评价内涵
工作
表现
20%
01
学习态度
6
遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。
02
科学实践、调研
7
通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。
03
课题工作量
7
按期圆满完成规定的任务,工作量饱满。
能力
水平
35%
04
综合运用知识的能力
10
能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。
05
应用文献的能力
5
能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。
06
设计(实验)能力,方案的设计能力
5
能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。
07
计算及计算机应用能力
5
具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。
08
对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)
10
具有较强的数据收集、分析、处理、综合的能力。
成果
质量
45%
09
插图(或图纸)质量、篇幅、设计(论文)规范化程度
5
符合本专业相关规范或规定要求;规范化符合本文件第五条要求。
10
设计说明书(论文)质量
30
综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。
11
创新
10
对前人工作有改进或突破,或有独特见解。
成绩
指导教师评语
指导教师签名:
年 月 日
目录
1系统概况2
1.1设计需求2
1.2系统内容与目标2
1.3系统综述2
2系统开发环境及关键技术4
2.1VisualC++和面向对象程序设计4
2.2MFC4
2.3TCP/IP协议、TCP协议5
3系统分析与设计7
3.1系统需求7
3.2需求分析8
3.3设计原理9
3.4工作流程10
3.5功能设计10
4服务端的系统实现12
4.1服务器端主要过程介绍12
5客户端主要过程介绍16
5.1客户端介绍16
6程序运行结果22
6.1服务端22
6.2客户端22
7总结23
7参考文献25
摘要
网络聊天室,其实质是基于Internet的一种网络聊天软件,他可以再网络环境下进行实时的一对多或多对多的匿名聊天。
网络聊天室软件的制作方法很多,比如mfc和Java等语言设计的就有很多,该软件设计主要是利用mfc所提供的各种空间尤其是winsock空间,基于c/s模式,设计了一个网络聊天室,圆满地实现在网络上实时聊天的功能。
关键词:
winsock;c/s;visualc++6.0
1系统概况
1.1设计需求
近年来,随着全球信息化进程的不断发展,网络也在飞速发展。
出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。
在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。
然而,随着企业规模的扩大,业务量的增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。
为了解决上述矛盾,人们提出了开发局域网聊天软件的构想,通过局域网聊天软件,企业员工可以随时的进行即时消息传递,召开网络会议等,有利于提高工作消息效率,同时又保护了企业内部信息的安全性。
1.2系统内容与目标
本课题主要研究的是局域网聊天软件,此聊天软件分为服务器程序和客户端程序,本课题的目标是能实现用户在客户端与服务器端传递文字信息。
主要研究开发内容是:
熟悉C++和VC的操作,搭配系统开发平台,探索在此开发平台下,利用socket编程技术、多线程开发技术、TCP、UDP协议等进行局域网聊天软件的实际开发。
1.3系统综述
现在,多渠道的信息源、网络化的数据分布、快捷医用的交互操作、智能化的分析决策等特点越来越成为衡量有两聊天软件的关键,因此,本人开发一个局域网聊天软件,该聊天软件是基于C++语言运行于VC平台上,利用的技术主要是Socket通信,使用配置文件作为数据管理。
为实现和方便客户端间通信,在客户端进行了人性化的界面设计,用户可以注册号码,登陆界面,具有发送离线消息功能。
第1章对本次课题的背景及意义、课题现状、课题内容与目标进行了深入阐述。
第2章介绍了系统的开发环境和关键技术,例如Socket编程技术,非阻塞开发模式等等。
第3章是系统分析与设计。
将对系统进行需求分析,对组成系统的功能模块进行划分,对每个模块将要实现的功能进行阐述和说明。
对系统的结构进行设计,设计共享数据结构。
第4章是系统实现,分别介绍了服务器端和客户端每个功能的执行过程,画出主要模块的流程图。
第5章介绍系统测试。
最后,对本设计进行归纳总结,全面阐述本次设计中的体会。
2系统开发环境及关键技术
2.1VisualC++和面向对象程序设计
VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在Windows平台无所不能。
从20世纪70年代第一次提出面向对象的概念开始,到现在面向对象技术发展成为一种比较成熟的编程思想,通过面向对象技术,可以将现实世界直接影射到对象空间,从而为系统的设计和开发带来革命性的影响。
VisualC++是一个典型的面向对象程序的设计语言,它也是目前为止功能最强、最受欢迎、应用最广泛、高效的Windows应用程序开发工具,它是在C语言基础之上发展起来的,是C语言的超集。
VisualC++是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。
因此VisualC++又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。
VisualC++具有的优点:
提供了面向对象的应用程序框架MFC(MicrosoftFoundationClass),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、ClassWizard、VisualStudio、WizardBar等,实现了直观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作。
2.2MFC
MFC,微软基础类(MicrosoftFoundationClasses),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++SDK(SDK,StandardSoftWareDevelopKit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:
C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的..
构造一个CAsyncSocket对象并使用该对象创建基础SOCKET句柄。
套接字的创建遵循两阶段构造的MFC模式。
例如:
CAsyncSocketsock;sock.Create();//Usethedefaultparameters
对于服务器套接字,必须指定端口。
对于客户端套接字,通常接受此参数的默认值,
该值允许WindowsSockets选择端口。
套接字类型:
SOCK_STREAM(默认值)或SOCK_DGRAM。
套接字“地址”,如“”或“128.56.22.8”。
该地址为网络上的网际协议(IP)地址。
很可能要始终依赖此参数的默认值。
如果套接字是客户端,则使用CAsyncSocket:
:
Connect将此套接字对象连接到服务
器套接字。
销毁CAsyncSocket对象。
如果在堆栈上创建了套接字对象,当包含函数超出范围时将调用此对象的析构函数。
如果使用new运算符在堆上创建了套接字对象,则必须负责使用delete运算符销毁
此对象。
“阻塞”方案。
发送和接收计算机之间的字节顺序差异。
在Unicode和多字节字符集(MBCS)字符串之间转换。
2.3TCP/IP协议、TCP协议
网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP层接收由更低(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。
IP数据包
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 聊天