基于VC的局域网聊天室(任务书和开题报告)
武汉理工大学
毕业设计(论文)
局域网聊天室的VC++实现 学院(系): 理学院 专业班级:电子信息科学与技术专业0702班 学生姓名: 王健 指导教师: 谢颂华
学位论文原创性声明
本人郑重承诺:所呈交的论文是在导师的指导下独立进行研究所得的研究成果。除了文中特别甲乙标注引用的内容外,本论文不包括其他任何个人或集体已发表或撰写的成果作品。本人完全意识到声明的法律后果由本人承担。
作者签名:
年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、保密囗,在 年解密后适用本授权书
2、不保密囗 。
(请在以上相应方框内打“?”)
作者签名: 年 月 日
导师签名: 年 月 日
本科生毕业设计(论文)任务书 学生姓名: 王健 专业班级: 电信科0702 指导教师: 谢颂华 工作单位: 武汉理工大学理学院 设计(论文)题目: 局域网聊天室的VC++实现
设计(论文)主要内容:
利用VC6.0平台完成局域网的网络聊天室设计,采用CSocket技术实现网络通讯。通讯分为服务器和客户端,服务器设置端口号,实现网络监听,保存用户信息;客户端接入聊天室,发送文字信息,相互之间进行网络通讯。
要求完成的主要任务:
1、查阅不少于15篇的相关资料,其中英文文献不少于3篇,完成开题报告。
socket编程聊天室基本流程2、掌握C++编程语言,熟悉VC编程环境。
3、在VC中进行CSocket的编程,实现局域网聊天室。
4、完成不少于5000汉字的英文文献翻译。
5、完成不少于12000字的毕业论文。
必读参考资料:
1、孙鑫.VC++深入详解.电子工业出版社.2005
2、陈永彬.语音信号处理.中国科学技术大学出版社.1990
3、Visual C++.NET 程序设计.清华大学出版社.2002
4、李凌. Winsock 2网络编程实用教程.清华大学出版社.2005 指导教师签名: 系主任签名:
院长签名(章)
武汉理工大学
本科生毕业设计(论文)开题报告 1、目的及意义(含国内外的研究现状分析)
近年来,随着全球信息化的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。为了解决上述矛盾,人们提出了开发局域网聊天软件的构想,通过局域网聊天软件,企业员工可以随时的进行即时消息传递,召开网络会议等,有利于提高工作效率,同时又保护了企业内部信息的安全。
随着用户对软件功能的需求不断提高,即时通讯的产品也不断地更新换代。即时通讯的发展不论是在基础应用方面还是在扩展应用方面都有着飞跃。为了满足用户的需求,包括腾讯公司的聊天软件QQ在内,许多即时性聊天工具都推出了语音聊天、视频聊天功能模块。本课题研究的是基于局域网的聊天室,用VC++编写的程序,程序实现一般的文字聊天功能,可作为某局域网的交流工具。
本系统采用基于Socket的方法实现局域网通信,基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。
基于Socket的局域网聊天工具很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。基于Socket的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。
如今基于局域网的即时通信工具一般采用UDP或者 TCP协议体系来实现 ,开发技术已经比较成熟。UDP的实时性比较好,但是不一定提供可靠的数据传输,TCP可以提供可靠的数据传输,本课题采用TCP完成局域网聊天室的设计。
2、基本内容和技术方案
基本内容:局域网的语音通信可通过Socket编程实现,VC封装了有关Socket的各种操作,在编程过程中调用封装的函数实现各种功能。基于TCP的Socket编程采用流式套接字,实现起来比较方便。
技术方案:CSocket编程分为服务器端编程和客户端编程,其编程步骤见下。
服务器端编程步骤:
1、加载套接字库,并判断是否加载成功(AfxSocketInit());
2、创建绑定某端口的套接字(Create());
3、将套接字设置为监听模式等待连接请求(Listen());
4、请求到达后,接收连接请求,并且返回一个新的对应于此连接的套接字(Accept());
5、用返回的套接字和客户端进行通信(Send());
6、返回,等待另一连接请求;
7、关闭套接字,关闭加载的套接字库(Close());
客户端编程步骤:
1、加载套接字库,创建套接字(Create());
2、向服务器发出连接请求(Connect());
3、和服务器进行通信连接(Send());
4、关闭套接字,关闭加载套接字库(Close());
Windows为套接字加上了消息驱动响应,实现同步非阻塞的网络编程,框架自动调用一下函数。
1、 当监听套接字在端口听到连接请求时,应用程序框架自动调用OnAccept()函数。
2、 当客户端套接字连接请求完成后,应用程序框架调用OnConnect()。
3、 当有消息到来是,应用程序框架自动调用OnReceive()。
4、 当与相连的套接字断开连接后,框架自动调用OnClose()。
3、进度安排
第1,3周:查阅相关文献资料,明确研究内容,了解VC开发平台的使用方法,完成开题报告。
第4,5周:进一步查阅相关资料,掌握C++编程语言。
第6,7周:熟悉VC的使用方法,并能完成在Windows下的开发,初步拟定实现方案。
第8,9周: 设计软件,划分模块,确定设计步骤。
第10,11周:进行软件的界面设计,完成编程,并进行调试。 第12周:撰写论文,完成初稿。
第13周:修改论文,论文定稿、打印装订论文。
第14周:外文翻译,论文评审。
第15周: 准备论文答辩。
4、指导教师意见
指导教师签名:
年 月 日

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。