java课程设计实验报告

上传人:人*** 文档编号:508074532 上传时间:2023-02-02 格式:DOC 页数:56 大小:665KB
返回 下载 相关 举报
java课程设计实验报告_第1页
第1页 / 共56页
java课程设计实验报告_第2页
第2页 / 共56页
java课程设计实验报告_第3页
第3页 / 共56页
java课程设计实验报告_第4页
第4页 / 共56页
java课程设计实验报告_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《java课程设计实验报告》由会员分享,可在线阅读,更多相关《java课程设计实验报告(56页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 报 告学院、系:吉林大学珠海学院计算机科学与技术系专业名称:计算机科学与技术课程设计科目java程序课程设计学生学号:04120420学生姓名:何星指导教师:董鑫正完成时间:2014 年 3月- 5月题目:20. 模仿QQ的部分功能,建立一个功能全面的网络聊天程序,可以实现多人聊天,并可以保存聊天记录。一、设计任务与目标 1)多线程聊天程序2)可以接收多人聊天3)可以发送文件4)可以发送图片5)可以保存聊天记录6)要求界面美观、布局合理、功能操作简便二、方案设计与论证网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定

2、位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得

3、到服务。三、程序框图或流程图,程序清单与调用关系客户端发送与接收事件处理定义常用方法Run()接收并处理消息Actionperformed()按钮事件处理Insert()插入信息到自己的聊天区Keypressed()处理并发送消息itemStateChanged()判断私聊Putout()保存聊天记录Sendfilethread发送文件Shutdown()关闭窗口,向服务器发送离线请求Acceptfilethread接收文件createpopupMenu()清空聊天区调用关系Run()in.readLine()接受读取信息Split(“&”)处理信息,用于判断与识别Plist.listMode

4、l.addElement()向好友列表中加入好友Insert()信息插入自身聊天去This.acceptfileArea.setText()在接收文件曲线是要接收的文件Putout()聊天记录输出为文本以保存聊天记录Keypressed()inMsgField.getText()在输入框中获取信息Split(“&”)处理信息Out.println()发送信息Insert()插入信息到自身聊天区Putout()保存聊天记录SendfilethreadOut.println()发送客户信息和请求tos.read()从文件中读取数据doc.write()将数据写入网络缓冲区Inset()插入信息到自

5、身聊天区Acceptfilethreadfile.createNewFile()将接受的文件重命名in.read()从网络缓冲区读数据raf.write()数据写入文件服务器调用关系定义方法Run()In.readline()接收信息sendOne()Split(“&”)判断处理信息sendAll()群发sendAll()deleteConnection()从用户组中删除用户addConnection()加入用户到用户组addConnection()Updatalist()更新好友列表sendOne()私聊deleteConnection()Updatalist()cp.getName()获取

6、用户姓名cp.getSex()获取用户性别Out.println()向每个用户发送每个用户信息发送文件处理并发送信息insert()插入信息到自身聊天区doc.write()写入网络缓冲区fos.read()从文件读取数据Out.println()发送客户信息和请求Sendfilethread发送文件线程Actionperformed()按钮事件处理sendfileArea.getText()获取文件名ChatFrame()客户端界面Insert()插入信息到自己聊天区Out.println()输出信息inMsgField.getText()获取输入框信息Putout()保存聊天记录ChatF

7、rame()客户端界面Keypressed()处理并发送信息YNYShoutdown()Link()If(e.getSource=ok)ChatFrame()客户端界面Connect()登录界面If(e.getSource()=cancell)接收客户端信息向客户端发送信息Updatalist()更新好友列表deleteConnection()从用户组中删除用户 addConnection()用户组中加入用户Split(“&”)判断处理信息sendOne()私聊sendAll()群发In.readline()接收信息run()处理和中转信息main()开启线程,启动服务器,监听客户端接收文件接

8、收信息Raf.write()数据写入文件In.read()从网络缓冲区读数据file.createnewFile()接收并重命名文件Acceptfilethread接收文件线程Putout()保存聊天记录this.acceptfileArea.setText()显示要接收的文件到接收文件区Insert()信息插入到自身聊天区Plist.listModel.addElement()向好友列表中加入好友in.readLine()接受读取信息Run()接收并处理信息ChatFrame()客户端界面ChatFrame()客户端界面四、 全部源程序清单package chat;/import Clien

9、t;import javax.swing.JFileChooser;import javax.swing.JProgressBar;import java.util.Date;import java.util.Calendar;import javax.swing.JTextArea; /import RTFReceiveFrame;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.Border;import javax.swing.text.BadLocationE

10、xception;import javax.swing.text.SimpleAttributeSet;import javax.swing.text.StyleConstants;import javax.swing.text.StyledDocument;import .*;import java.io.*;import .Socket;SuppressWarnings(unused)public class ChatFrame extends JFrame implements ActionListener, ItemListener,Runnable, KeyListenersendf

11、ilethread sendthread;/ 发送文件线程;acceptfilethread acceptthread;/ 接收文件线程Socket acceptfilesocket; / 接收文件传输连接Socket sendfilesocket; / 发送文件传输连接ServerSocket fileserver; / 传输文件服务器String filemsg = null; / 保存文件输入流String sendfilename = null;/ 保存欲发送的文件名String IP;/ 保存本机IP= InetAddress.getLocalHost();/Boolean acce

12、ptboolean = false;Boolean sendboolean = false;int port = 6200;JProgressBar acceptProgressbar;/ 接收进度条JProgressBar sendProgressbar; / 发送进度条private Box leftbox = null;private Box rightbox = null;private Box leftrightbox = null;private Box rightleftbox = null;private JButton sendfile; / 发送文件按钮private JB

13、utton cancelsendfile; / 取消发送文件按钮private JButton acceptfile; / 接收文件按钮private JButton refusefile; / 拒绝接收文件按钮private MyTextArea sendfileArea = null; / 发送文件显示区private JTextPane acceptfileArea = null; / 接收文件显示区private static final long serialVersionUID = 1L;/ *菜单栏*private Box box = null; / 放输入组件的容器privat

14、e JComboBox fontName = null, fontSize = null, fontStyle = null,fontColor = null;/ sendings = null;/ fontBackColor = null;private StyledDocument doc = null;private JFileChooser jfc;/ 文件保存路径选择器private JTextPane commonArea = null; / 公共发言区private JTextPane myMsgArea = null;/ 我的频道发言区public JComboBox perponsComboBox; / 下拉菜单private JTextArea inMs

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

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

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