- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)