java网络通信技术实现基于cs模式的聊天室(毕业设计论文word版)

上传人:Bod****ee 文档编号:47344631 上传时间:2018-07-01 格式:DOC 页数:27 大小:280.55KB
返回 下载 相关 举报
java网络通信技术实现基于cs模式的聊天室(毕业设计论文word版)_第1页
第1页 / 共27页
java网络通信技术实现基于cs模式的聊天室(毕业设计论文word版)_第2页
第2页 / 共27页
java网络通信技术实现基于cs模式的聊天室(毕业设计论文word版)_第3页
第3页 / 共27页
java网络通信技术实现基于cs模式的聊天室(毕业设计论文word版)_第4页
第4页 / 共27页
java网络通信技术实现基于cs模式的聊天室(毕业设计论文word版)_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《java网络通信技术实现基于cs模式的聊天室(毕业设计论文word版)》由会员分享,可在线阅读,更多相关《java网络通信技术实现基于cs模式的聊天室(毕业设计论文word版)(27页珍藏版)》请在金锄头文库上搜索。

1、科科 技技 大大 学学 城城 市市 学学 院院课课 程程 设设 计计 报报 告告课程课程设计设计名称名称 Java 课程设计课程设计 题题 目目采用采用 Java 网络通信技术实现基于网络通信技术实现基于 C/S 模模式的聊天室式的聊天室 院院 系系 信息工程学部信息工程学部 专专 业业 信息管理与信息系统信息管理与信息系统 班班 级级 姓姓 名名 指导教师指导教师 题目:采用采用 JavaJava 网络通信技术实现基于网络通信技术实现基于 C/SC/S 模式的聊天室模式的聊天室1 课程设计教学条件要求课程设计教学条件要求 eclipse/ netbeans/ Jbuilder 2 课程设计任

2、务课程设计任务编写一个简易 CS 版聊天室,多个客户端可以同时发送信息,服务器端监听并 显示到客户端页面。 1要求可以实现多人同时在线聊天。 2要求客户端和服务器端的界面采用 Swing 或 SWT 实现 3服务器可以向多个客户进行广播通信。3 课程设计报告书主要内容课程设计报告书主要内容1 需求分析 2 总体设计21 设计的总体思想与算法描述22 模块结构图23 各功能模块的功能与处理流程描述24 界面设计 3 各功能模块程序设计 按照功能模块的功能与处理流程描述给出详细的程序代码,并给出重 点语句的注释. 4 小结4 课程设计要求课程设计要求1 按时到机房签到,在指定机位上机。遵守机房纪律

3、。2 独立完成课程设计任务。指导教师到机位上指导学生和分时段验收学生 完成的程序。3 按时提交打印的课程设计报告书。5 课程设计参考书课程设计参考书1 许文宪 懂子建. Java 程序设计教程与实训. 北京:北京大学出版社,2005. 2 辛运帏 .Java 程序设计.北京:清华大学出版社, 2004 3 美Echel,B .Java 编程思想(第三版).北京:机械工业出版社,2005撰写者:江伟 指导老师:于海平目目 录录1 需求分析 .12 总体设计 .221 设计的总体思想与算法描述 .222 模块结构图 .22. 3 界面设计.32.3.1 管理员界面.32.3.2 登陆界面.32.3

4、.3 聊天界面.42.3.4 文件发送界面.52.3.5 接受提示界面.52.3.6 选择保存界面.62.3.7 传输成功提示界面.63程序设计 .74 小结 .22参考文献 .231 需求分析本系统是实现 c/s 模式的聊天室 首先要建立侦听服务,这个需求是服务器端的需求。其次还应实现:用户登录,包括客户端请求登录以及服务器端响应登录两个过程。收发聊天信息,包括客户端发送聊天信息以及服务器端转发聊天信息两个过程。收发系统信息,由服务器端发送给客户端的信息。用户下线,包括客户端请求下线以及服务器响应请求两个过程,这个与用户登录类似,服务器关闭。其中我还加入了文件传输功能,方便了用户文件的共享。

5、2 总体设计21 设计的总体思想与算法描述依据需求分析的结果,该系统应设计成一个可以实现多人同时在线聊天功能的聊天软件,下面从软件的整体结构设计、界面设计、变量设计等方面阐述一下系统的总体设计。依据需求分析结果,设计应实现多人同时在线聊天,就应该分为服务端和用户端两个端口。用户端把信息发送到服务端,而后服务端再把信息分发到各个用户端。22 模块结构图图 2.1 模块结构图2. 3 界面设计2.3.12.3.1 管理员界面图 2.2 管理员界面2.3.2 登陆界面图 2.3 登陆界面2.3.3 聊天界面图 2.4 聊天界面2.3.4 文件发送界面图 2.5 文件发送界面2.3.5 接受提示界面图

6、 2.6 接受提示界面2.3.6 选择保存界面图 2.7 选择保存界面2.3.7 传输成功提示界面图 2.8 传输成功提示界面3程序设计package com.ff;import java.io.*;import .*;import java.util.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class StartServer public static void main(String args) StartServer startServer = new StartServer();St

7、artServer.Server serverFrame=startServer.new Server();class Server extends JFrameprivate JScrollPane jp_rec;private JScrollPane jp_send;private JScrollPane jp_list;private JTextArea jta_rec;private JTextArea jta_send;private JLabel lbl_rec;private JLabel lbl_edit;private JList jlist;private JButton

8、btnSend;/ 发送消息按钮private JButton btnT;private DefaultListModel listModel;private HashMap allUserLink = new HashMap();public Server() init();try ServerSocket server_socket = new ServerSocket(9999);while (true) Socket client_socket = server_socket.accept();SocketThread dealThread = new SocketThread(cli

9、ent_socket);new Thread(dealThread).start(); catch (Exception ex) ex.printStackTrace();public void init() this.setTitle(“管理员平台“);this.setSize(800, 400);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setLocationRelativeTo(this);Container c = this.getContentPane();c.setLayout(null);jta_rec = new JTe

10、xtArea(“);jta_send = new JTextArea(“);jp_rec = new JScrollPane();jp_send = new JScrollPane();jp_list = new JScrollPane();lbl_rec = new JLabel(“-消息记录-“);lbl_edit = new JLabel(“-文本编辑-“);btnSend = new JButton(“发送“);btnT = new JButton(“T 除成员“);listModel=new DefaultListModel();jlist = new JList(listModel

11、);jlist.setBorder(BorderFactory.createTitledBorder(“在线成员“);jp_rec.getViewport().add(jta_rec);jp_send.getViewport().add(jta_send);jp_list.getViewport().add(jlist);jta_rec.setLineWrap(true);jta_send.setLineWrap(true);jta_rec.setEditable(false);lbl_rec.setBounds(30, 10, 80, 20);jp_rec.setBounds(30, 30,

12、 450, 100);lbl_edit.setBounds(30, 130, 80, 20);jp_send.setBounds(30, 150, 450, 100);btnSend.setBounds(350, 260, 80, 20);jp_list.setBounds(500, 30, 120, 220);btnT.setBounds(520, 260, 80, 20);c.add(lbl_rec);c.add(lbl_edit);c.add(jp_rec);c.add(jp_send);c.add(btnSend);c.add(jp_list);c.add(btnT);this.setVisible(true);class SocketThread extends BaseTrans private boolean threadON=true;public SocketThread(Socket client_socket) super(client_socket);btnSend.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) messageEvent(“code=001;msg=公告 “+new Date().toLocaleString()+“

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号