软件工程 课程计 Socket聊天系统.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程 课程计 Socket聊天系统

目  录 1.前言 4 2.需求分析 5 2.1系统的功能需求 5 2.1.4点歌 5 2.1.5分组管理 5 2.1.6个人信息管理 5 2.1.7用户管理 5 2.1.8视频通话 5 2.2非功能需求: 5 2.2.2网络安全 5 2.3用例分析 6 2.3.1参与者 6 2.3.2用例分析 6 2.3.3系统的用例图 6 3.总体设计 8 3.1TCP服务器设置 8 3.2分析类图 9 3.3顺序图 10 3.2.1用户私聊顺序图 10 3.2.2用户传送文件序列图 11 3.3协作图 11 3.3.1用户私聊协作图 11 3.3.2用户传送文件协作图 12 4.详细设计 14 4.1客户端设计 14 4.2服务端设计 14 4.3多线程设计 15 5.代码实现 16 5.1服务端设计 16 5.2客户端设计 18 5.3多线程 22 5.3.1服务端多线程 22 5.3.2客户端多线程 24 6.运行与测试 25 6.1用户登录界面 25 6.2输入端口界面 25 6.3服务器记录,在线的用户信息。 26 6.4私聊 26 6.4.1登录 26 6.4.2用户给指定的好友发送信息。(私聊) 27 6.4.3指定好友接受到好友信息。(私聊的信息) 27 6.4.5好友回复我的信息 28 6.5群聊 28 6.5.1发送群消息 28 6.5.2好友响应并接受群聊信息 29 29 7. 小结 30 8.参考文献 31 1.前言 随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。该系统开发主要包括一个网络聊天服务器程序和一个网络聊天客户程序两个方面。前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来信息,并能刷新用户列表。后者通过与服务器建立连接,来进行客户端与客户端的信息交流。其中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。经过分析这些情况,该局域网聊天工具采用Eclipse为基本开发环境和java语言进行编写,首先可在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进,直到形成可行系统? 本文通过java的Socket实现了一个基于局域网和网络的聊天室的程序的开发---基于java的C/S模式网络聊天室的设计与实现。 C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server?应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 关键词:聊天??客户端??信息??服务器端? Java C/S聊天系统? 2.需求分析 2.1系统的功能需求 2.1.1实现私聊(一对一):在登陆的情况下选择你要聊天的好友,进行信息的传送,实现彼此的聊天,这也是本系统最基本的功能。 2.1.2群聊(一对多):可以实现一对多人的聊天。 2.1.3大文件传输:在能够聊天的基础上,实现通讯的多元化,进行文件的传输。是通讯双方可以选择传送对方想获得的资料。 2.1.4点歌 2.1.5分组管理 2.1.6个人信息管理 2.1.7用户管理 2.1.8视频通话 2.2非功能需求: 2.2.1界面友好:界面易操作性,对经典的聊天程序的界面进行了学习和借鉴,模仿他们的界面和常用的操作。 2.2.2网络安全 加密 解密 为了提高传输的安全性,进行加密操作。及时在网络上被别人了窃听消息,也不能得到原始信息,防止个人重要信息和隐私信息被盗。 2.3用例分析 2.3.1参与者 本系统显而易见的两个参与者:用户和管理员。 2.3.2用例分析 从上面的需求里进行抽象和提取关键信息,在确定系统边界的情况下,选择最基本的用例,然后对用例进行描述和细

文档评论(0)

fcp940 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档