毕业设计开题报告
2017 年 3 月 1 日
毕 业 设 计 开 题 报 告
1.结合毕业设计情况,根据所查阅的文献资料,撰写 2000 字左右的文
献综述:
文 献 综 述
研究背景及意义
随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式已经
难以满足人们的交流的需求了,网络聊天已经慢慢成为人们生活的一部分,呈现出良好
的势头和广阔的发展前景。在互联网上即时的和好友取得联系,已经成为当今社会人们
主流的联系方式。作为通讯的一种运用的聊天软件,它继承了通讯软件的优点,它具有
文字聊天、语音聊天、传送文件、拨打电话、远程协助、视频聊天、邮件辅助、发送短
信、浏览咨询等等功能。开发基于桌面的,面向个人的大众化聊天软件,可以满足网民
在网络交流的需要,和电话、手机有着异曲同工之妙,但较之电话和手机,聊天软件具
有方便快捷,功能强大,交流成本低等优点,因此受到广大个人用户的喜爱,网络聊天
已经成为网络生活中不可或缺的一部分。网上聊天软件是为人们相互进行交流和联系提
供的一个平台,通过提供完善的网上聊天服务,可以达到增进彼此之间的了解,增加人
与人之间的感情交流的目的。同时,即时通信系统对现代企业也有着重大意义,由于聊
天程序可以加装到台式机、笔记本电脑、手机等终端上,并且具有通讯、文件传输、视
频音频会议等诸多强大的能力,能够有效地降低企业内部的通讯费用,提高工作效率。
越来越多的企业已开始认识到即时通信工具能够带来极高的生产力,并借助它的应用,
来提高业务协同性及反馈的敏感度和快捷度。
随着不断地发展现如今聊天软件的开发技术已经比较成熟,各项功能也已日渐完善,
聊天程序已不仅仅只是为了聊天,现阶段已获成功的聊天软件都早已将发展中心往建设
平台方面发展,以后聊天软件更多承担的角色是一款能够产生价值的巨型航母。
本题目为基于 socket 的网络编程,具体需要实现 C/S 模式的聊天程序,使用了 java
语言,java 语言有下面一些特点:简单、面向对象、分布式、解释执行、安全、体系结
构中立、可移植、高性能、多线程以及动态性。java 丰富的类库提供了大量的类以满足
网络化、多线程、面向对象系统的需要
因为即时通信系统一般由客户端软件和服务器软件两部分组成。客户端为用户提供
使用各种功能服务的界面,服务器为客户端提供登陆、即时信息交流和管理等服务。双
方在首次进行即时通信前必须先在计算机中安装即时通信客户端软件,然后登陆到提供
即时通信服务的服务器,经注册后获得由服务器统一分配的唯一标识符后方可开始通信。
通信时,由客户端发起连接请求,服务器担任中转者的角色,将网络包从发送方转交给
接受方,所以采用了 C/S 模式。
socket,简称套接字,用于实现网络上客户和服务器之间的连接。也就是说网络上两
个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套
接字是在比较低的层次上通信的。具体的说:一个服务器应用程序一般侦听一个特定的
端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信
连接,在连接过程中,客户端被分配一个本地端口与一个 Socket 建立连接,客户端通
过写 Socket 来通知服务器,以读 Socket 中的信息,类似的服务器也获得一个本地端口,
它需要一个新的端口号来侦听原始端口上的其他连接请求。服务器也通过它的本地端口
连接一个 Socket,通过读写和客户端通信。
基于 Socket 的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且
也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景
网络编程在计算机编程中占据重要地位,通过网络编程,有助于了解各种网络协议,
更深入理解各类网络应用程序的设计与实现。无论 windows 或 linux 系统,网络编程都
是针对 socket 套接字进行编程。通过本题目的学习,可以更好的把计算机网络课程中
学到的理论知识应用于实际,编制出符合实际需要的网络通信软件。同时可以了解聊天
程序的开发流程,还能很大的提高自己的开发技术,必将对我以后的工作生活带来极大
的帮助。网络编程在计算机编程中占据重要地位,通过网络编程,有助于了解各种网络
协议,更深入理解各类网络应用程序的设计与实现。无论 windows 或 linux 系统,网络
编程都是针对 socket 套接字进行编程。通过本题目的学习,可以更好的把计算机网络
课程中学到的理论知识应用于实际,编制出符合实际需要的网络通信软件。
参考文献:
[1] 王路群,《Java 高级程序设计》 中国水利水电出版社 2006
[2] Rogers Cadenhead 著、梅兴文译,《Java 编程入门经典》 人民邮电出版社 2007