java课程设计局域网聊天程序的设计与实现.doc

java课程设计局域网聊天程序的设计与实现.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告 设计名称: 面向对象课程设计 选题名称: 局域网聊天程序的设计与实现 专业班级: 网络 系 (院): 计算机工程学院 设计时间: 2014/3/12 ~2014/4/12 设计地点: 软件实验室、教室 指导教师评语: 签名: 年 月 日 1.课程设计目的 《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。 2.课程设计任务与要求: 局域网聊天程序的设计与实现 该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。 客户端程序:可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的信息。 服务器端程序:可将消息发送到客户端和接受客户端发送来的信息 3.课程设计说明书 (1).需求分析: 本程序需要设计两个界面,一个登录界面,一个聊天界面,而服务器端负责监听,无需设置界面。 服务器端只需在一个局域网中的电脑上运行,在局域网中处于监听状态,其他电脑后运行客户端,发送消息给服务端请求验证,验证通过即登录成功,客户端间即可正常通信。 程序设计经初步分析应该需要七个模块: 1.链接设置模块。对于服务器需要设置服务的端口等参数,客户端需要设置好本地端口、昵称等参数,初始化程序,发送链接请求给服务器端。 2.链接断开模块。服务器需向所有客户端发送断开消息,客户端向服务器端发送断开消息。 3.聊天数据发送处理模块。当用户发送表情时,需处理成相应的语句,接受消息的客户端需将相应的消息转换回来。 4.短消息发送模块。用户输入消息,然后发送给聊天对象。 5.网络数据接受处理模块。服务器端对收到来自网络各种数据进行相应处理。 6.界面设计模块。聊天界面需友好,用户对程序的设置可以保存下来,下次运行时再恢复。 7.用户管理模块。为服务器功能,可以将用户踢出聊天室。 (2).概要设计: Chat.java: 局域网聊天程序主程序初始化,设置默认值。 ChatFrame.java: 局域网聊天的主程序,包含用布局管理器设计的程序界面和按钮、菜单的响应模块,还有就是用于网络编程实现通信的socket套接字模块。 用例图如下: 本程序可以点对点通信,局域网内只要IP与端口匹配,可使任意用户之间通信。 (3).详细设计: 类图如下: 本程序共有7个类,在两个源程序里面 ChatFrame.java和Chat.java:ChatFrame.java为主要源程序,局域网聊天的所有功能(包括socket套接字和图形界面),Chat.java为调用程序并使程序初始化。 ChatFrame类是用swing和awt包设计出程序的主界面,如菜单、文本框、按钮、对话框,定义它们的大小和位置,对其进行布局,并添加对按钮的监听,创建自定义类型的数据包,接收和发送都在run()函数中。 SendListener类是发送监听的类,对发送按钮进行监听,讲即将发送的内容打包,把发送功能写在了发送按钮的事件响应代码中;由于接收是要保持监听状态的,所以把接收功能写在了一个进程中。 SetDialog类是配置窗口类,在此设置菜单中的配置菜单的响应窗口,配置通信者的IP、端口与用户名。 AboutDialog类是菜单中设置关于对话框的类,没有太大用处。 SureListener类是负责对话框的确定按钮事件,传递数据到各个类。 Config类是配置类,配置窗口获得的数据将会传到这里。 4.课程设计成果 (1).主要代码: ChatFrame.java package Chat; import java.net.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; public class ChatFrame extends JFrame implements Runnable //Runnable接口,实现多线程 { private JTextArea sendAre

文档评论(0)

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

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

1亿VIP精品文档

相关文档