《毕业论文设计基于C S模式的聊天系统.docx》由会员分享,可在线阅读,更多相关《毕业论文设计基于C S模式的聊天系统.docx(51页珍藏版)》请在金锄头文库上搜索。
1、【摘要】随着互联网的快速发展,网络聊天已经成为人们日常交流沟通的不可或缺的方 式,很受人们的青睐。同时国内外也出现了很多非常不错的聊天工具,其中应用比较广泛 的有腾讯QQ、鍬skype等等。本系统使用JAVA语言并基于C/S模式进行开发。通过Socket 建立服务器与客户端间的TCP连接,服务器读取、转发客户端发来信息,并刷新用户列表。 用流程图的方式对系统使用中的注册、登录、发送信息等过程进行分析,用直接继承 Thread类来实现多线程,用TCP/IP协议进行客户端与服务器端的通信,并使用网络编程 的常用技术和一些软件丁程的基本方法来完成聊天子系统和文件子系统的设计研发。在分 析聊天系统的具
2、体情况后,本系统采用Eclipse为基本开发环境并使用js腹语言进行编 写,首先可在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进, 直到形成可行的系统。【关键词】 局域网 聊天Socke t JAVA沈阳师范大学学士学位论文Design and Implementation ofChat System based on C/S model【Abstract 】 Along with the fast development of Internet, network chat has become indispensable to Peoples Daily communic
3、ation, is very popular with the people . At the same time also appeared a lot of very good chat tools at home and abroad, is widely used in it have Tencent QQ Skype and so on. This system is mainly based on the JAVA language and C/S mode of developments The server is established through the Socket,
4、the server can read and deliver the information which client side sends, and can renovate the users tabulation. With the LAN correspondence mechanism principle, through inheriting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge wh
5、ich the computer network programme for example, TCP/IP agreement, Client/Server pattern, network programming design method and so on. In the network programming, it realizes reading and transmission of the information, that is.information flows realize the information exchange, introduce information
6、 flow analysis for realizing a system, in which contains some basic software engineering methods. After analyzes these situations, this system takes Eclipse as the basic development environment and compiles in java language, first, it will establish the system application prototype in a short time,
7、then, for the initial prototype system, it needs constantly revised and improved, until a viable system.Keywords) LAN Chat Socket JAVA3目录第一章 绪论11.1课题来源11.2国内外现状11.3研究的冃的及意义2第二章需求分析32. 1系统定义32. 2可行性分析32. 3功能需求32.4数据需求52.5用户界面耍求5第三章数据库设计83. 1数据库的概念83.2数据库的选择83.3数据库表的描述8第四章 技术介绍124.1 JAVA开发语言的选择124.2 M
8、VC设计模式134.3多线程简介154.4 SQL 语言154. 5 TCP/1P 协议164. 6 Socket 的简介17第五章系统实现195总体设计195. 2具体设计20第六章结论43致谢44参考文献45附录数据库连接46第一章绪论1.1课题来源根据当前网络的需求,网络聊天越来越受各种网民所青睐。因此开发网络聊天是相当 有必要,通过聊天系统,不仅可以提高访问量,同时可以留着访客,更重要的是让访客透 过聊天系统实时的互相交流。而本人也学习过JAVA语言,对网络编程也较有兴趣,为了 更好的考验自己对JAVA语言的掌握程度,本人就决定以“基于C/S模式的聊天系统的设 计与实现”为毕业设计,希
9、望通过这一次的能进一步提高本人的网络开发编程的能力。1.2国内外现状Java是Sim公司开发的一种面向对象的新一代网络编程语言。它可以在各种不同的 机器,操作系统的网络环境中进行开发,具有解習型语言(如Basic语言)和编译型语言(如 C语言)的特性。Java摒弃了 C+中齐种弊大于利的功能和许多很少用到的功能,用Java 开发的程序可以在网络上传输,并运行于任何装有Java虚拟机的客户机上,并且Java 虚拟机可以在Sim公司的主页上免费下载安装。Java语言具有以下特点:简单性,面向 对象,分布性,可靠性,安全性,体系结构中立,可移植性,解释执行,高性能,多线程 和动态性。Java语言的特
10、性使它可以最大程度的利用网络。近儿年以来,即时通信成为互联网和电信行业最激动人心的热点。2004年6月,行业 的主导服务商腾讯在香港成功上市。7月,网易在北京推出了新版的即时通讯软件网易泡 泡2004,新浪斥资近两亿元收购UC即时通讯技术平台,搜狐也推出即时通讯软件“搜Q J 作为电信运营商的中国电信和中国网通也动作频频。在国外,互联网行业引人瞩冃的新星 GOOGLE据传也推出了自己的即时通信,全球即时通信行业的老大1CQ也进入市场, 即时通信行业发展迅速,2011年行业增长率达到50%,已经形成了收入规模为10亿人民 币的不可忽视的市场。冃前国内面向个人的即时通信产品主耍为腾讯QQ,微软MS
11、N,网易泡泡,搜Q,新浪 UC, ICQ,雅虎通,IMU以及电信的VIM等;面向企业用户的即时通信产品比较多,但是 除了腾讯,微软等少数运营商用户比较多以外,其他的推出时间很短,用户极少,市场有 待开发。现在中国即时通信市场的竞争格局中,腾讯一支独秀,占据80%以上的市场份 额。虽然H前绝大多数互联网用户都同时为即时通信用户但是随着互联网尤其是宽带用 户数的迅速增长,未来若干年内,即时通信用户数量还会猛增。即时通信的安全性和 互连互通成为即时通信产品发展的主耍制约因素。沈阳师范大学学士学位论文1.3研究的目的及意义现在,企业、机关、学校纷纷建立起自己的局域网。在局域网,虽然可以通过文件共 享的
12、方式进行通讯,但单单使用这种方式,是非常不方便的。丁是就想到做一个在局域网 里的多功能聊天软件,在局域网里,我们可以通过它,实现在局域网里方便的联络,进行 文件传输,消息的发布,音频聊天,视频聊天等。在学校建立的校园网里,这软件可以方 便同学Z间、教师之间、师生Z间的相互联络,这样,不用上Internet,还可以节省资 源,在学校这个大环境里,可以方便同学之间联系,联络感情,促进同学Z间的友谊,学 生可以通过它来与不同寝室的同学,或教师讨论问题。并能最大限度地利用现有的网络资 源,极大地提高工作效率。信息交流是互联网提供的主耍内容,网络通信系统有多种实现方式,类似ICQ属于 一种点对点的聊天系
13、统;还有一种是基T Socket的集中式聊天系统,这种聊天系统需耍 登录统一的聊天服务器。考虑到耍可以在局域网中应用,本系统使用的是第二种方法,经 过设置,在局域网或internet 都可以使用。27第二章需求分析2. 1系统定义聊天系统的出现在一定程度上满足了人们对网络即时通信的耍求,那么本系统作为一 个简单的应用系统,为人们使用网络通信和对即时通信有需求的人提供服务。另外采用 C/S模式的原因是C/S模式的优点是能充分发挥客户端PC的处理能力,很多工作可以在 客户端处理后再提交给服务器。对应的优点就是客户端响丿应速度快。2. 2可行性分析1)经济可行性:本系统需耍一个MySQL数拯库,由丁
14、使用人数比较少,安装一个免 费的MySQL数拯库完全满足需要,所以成本就不用考虑了。2)操作可行性:只要一台以上计算机连接在同一个局域网内,木系统就可以安装使 用,所以操作上完全不存在问题。3)技术可行性:本系统是基于C/S模式,使用java语言实现的。开发这个系统需耍 开发者对socket编程和java Swing这两方面的技术比较熟。由于本人长期从事丁 java 语言编程,所以技术方面是可行的。综上所述,此聊天系统的设计是可行的。2.3功能需求本系统要实现的功能如下:1)注册服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的呢称,性别, 籍贯,个人资料等,接受完毕后,便通过JD
15、BC-ODBC与后台数据库连接,然后向数据库添 加记录,如果成功,便向客户返回其号码。客户收到服务器返回的信息后,便打开主登陆 窗口。2)登陆在客户端,用户输入其号码和密码,然后建立与服务器的连接,告诉服务器我耍登录, 服务器收到后,开始通过JDI3C-OD13C读取数据库,然后与用户输入的信息比较,如果成功, 便打开主程序窗口。然后客户向服务器请求读取好友名单,服务器收到该请求,开始读取 数据库中的表,得到好友的号码后,再在icq表中读取好友资料,然后向客户端发送这些 信息,客户收到后就在主窗口显示好友,并且建立儿个矢量(Vector)用以存储好友的呢 称,号码。3)私聊私聊就是两个聊天。客户端首先发送消息到服务器端,服务器端根据发送人信息和接 收者信息来转发。例如服务器接收到一个A发给B的消息,先判断B是否已经在线,如果 在线就将信息发送过去。B接收到A发来的信息,如果是未建立对话窗口,就询问是否建 立对话,否则就丢弃信息。4)群聊群聊,就是多人一起聊天。过程与私聊差不多。唯一的不同就是服务器会将信息转发 给指定群的所有成员。5)创建分组用户注册以后默认的好友分组只有一个。用户在执行添加分组操作以后,客户端分将 一个这个动作的信息发送给服务器端(主耍是FromClientlisten)。服务器端的 fromClientListen接收到这个请求,会进行数拯库操作,将要添加