网络编程课程设计-java聊天室.doc

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

网络编程课程设计报告

题目:简单聊天室设计

院系:

专业班级:

学号:

学生姓名:

指导教师:

2016年1月6日

1.引言

本课题的来源

随着网络普及和上网人数的大增,在国内各大门户网站都架设了大型聊天室。如:新浪聊天室、中华网社区聊天室、搜狐等都成为网民们的热门聊天室。以新浪聊天室为例看,聊天室呈现积聚人气作用,并开设不同主题的聊天室以使网民们具有针对性的使用聊天室。

本人方案设计一个实现基于Java语言的聊天室的Windows网络编程,启动效劳器后,客户端运行,向效劳器端发出请求,连接成功后,会弹出一个聊天室的界面,该界面有私聊〔可参加生动的表情描述〕、群聊、发送文件等功能,客户可以根据自己的需要选择不同的功能。具体任务是实现文件的接收功能,启动效劳器监听后,接收客户端发来请求,安排线程接收对方发来的文件〔例如文档、照片、音乐、电影等〕并存入指定的文件夹中。

2〕本系统涉及的知识点

1、套接字Socket的建立、连接、关闭,客户端和效劳器端的输入/输出流的连接。

2、Java中的多线程及线程的常用方法、Runnable接口。

3、基于SWING的图形用户界面设计:布局设计、文本组件、按钮与标签组件、列表组件等。

4、InetAddress类。

5、输入/输出流:文件、文件字节流、文件字符流、缓冲流、数据流。

3〕功能要求

〔1〕在效劳器端和客户端分别创立一个套接字对象,通过输入输出流连接在一起。套接字调用close()方法关闭双方的套接字连接。

〔2〕使用多线程处理套接字连接,把效劳器端或客户端读取的数据放在一个单独的线程中去进行,防止效劳器端或客户端读取数据可能引起的堵塞。效劳器端收到一个客户的套接字后,应该启动一个专门为该客户效劳的线程。

〔3〕成功连接后,在图形界面中用户可以根据自己的需要进行不同的操作,如:群聊天、和某一个用户单独聊天〔可参加生动的表情描述〕、发送文件等。在界面中会显示用户的聊天记录。

4〕开发环境的选择

在进行开发之前,首先决定的第一个问题就是,该使用什么开发环境来编写该系统?以目前常用的开发语言来讲有C/C++、.NET技术,JAVA、VisualBasic几种。还有Eclipse,、BorlandJBuilder等,这些并不是程序语言,而是程序语言在建构程序时的“集成开发工具”,不过它们在开发设计的过程中也占有相当重要的角色,因为选用正确的集成开发工具,可以加速程序设计的进行、测试与排错,因而对整体进度具有决定性的影响。

基于以下几点,选择JAVA语言开发技术。

1、就执行平台而言,必须考虑的问题之一是用户可能使用的操作系统。用户可能使用的是WindowsLinux。JAVA语言具有平台无关性,可以不需要任何修改就可以运行在支持JAVA的任何计算机上。

2、JAVA的Swing组件开发技术可以开发丰富的图形界面,并且SwingAPI类提供了丰富的外部接口和方法,可以方便实现系统功能。

3、就工程开发而言,纯粹的面向对象,加上数量巨大的类所提供的方法〔函数〕库的支持,使得利用Java开发各种应用程序,可以说是易如反掌。此外,在程序除错、修改、升级和增加新功能等方面,因其面向对象的特性,使得这些维护也变得非常容易。

4、Java支持内在的多线程运行,提供分布式的并发机制,运行效率高。

5、异常处理,为了使Java程式更稳定、更平安,Java引入了异常处理机制。能够在程序中产生异常情况的地方,执行相对应的处理,不至于因突发或意外的错误造成执行中断或是死机。通过这种异常处理,不仅能够清晰地掌握整个程序执行的流程,也使得程序的设计更为严谨。

6、高性能,Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C++的性能没什么区别。

7、网络功能,Java可以说是借助因特网而重获新生的,自然具备编写网络功能的程序。不管是一般因特网/局域网的程序,如Socket、Email、基于Web效劳器的Servlet、JSP程序,甚至连分布式网络程序,如CORBA、RMI等的支持也是非常丰富的,使用起来也很方便。

5〕开发技术的选择

本课题选择了javaSocket技术开发网络聊天室。什么是socket?socket是一种用于表达两台机器之间连接“终端”的软件抽象。对于一个给定的连接,在每台机器上都有一个socket,你可以想象一个虚拟的管道工作在两台机器

文档评论(0)

181****7662 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档