MINIQQ程序设计文档.docVIP

  • 29
  • 0
  • 约3.57千字
  • 约 6页
  • 2018-04-23 发布于河南
  • 举报
MINIQQ程序设计文档

MiniQQ程序设计文档 一、实验内容: 设计和实现一款迷你的类似QQ的即时通信软件 二、问题分析: 具有可视化的图形界面,能够直观的进行显示。允许用户注册、登录自己的账号 具有好友名单和好友维护功能(比如黑名单、陌生人等用户可以进行查找)好友、添加好友、删除好友等好友管理操作 具有完整的网络通信协议,能够完成多方(不是双方)即时通信的功能:可以进行用户的一对一聊天、多对多聊天、群聊以及显示在线好友等功能 可以保存聊天记录 三、项目组织 程序共有共两大个模块。分别是客户端模块、服务器模块。 b) 模块功能: 客户端模块:用户账号注册、登录、添加好友、删除好友、一对一聊天、群聊等功能。 登陆界面 好友列表界面 c) 模块关系: 四、源程序 GUI类:class JFrame 作用:显示界面 public class QqClientLogin extends JFrame implements ActionListener { // 定义北部组件 JLabel Jbl1; // 定义中部组件 JTabbedPane Jtp; JPanel Jpl3, Jpl4, Jpl5; JLabel Jpl3_Jbl1, Jpl3_Jbl2, Jpl3_Jbl3, Jpl3_Jbl4; JButton Jpl3_Jb1; JTextField Jpl3_Jtf1; JPasswordField Jpl3_JPf; JCheckBox Jpl3_Jcb1, Jpl3_Jcb2; // 定义南部组件 JPanel Jpl2; JButton Jpl2_Jb1, Jpl2_Jb2, Jpl2_Jb3; public static void main(String[] args) { QqClientLogin qqClientLogin = new QqClientLogin(); } 2) 线程类:class Thread 作用:多线程 public class ClientConServerThread extends Thread { public void run() { try { while (true) { ObjectInputStream ois = new ObjectInputStream( s.getInputStream()); Message m = (Message) ois.readObject(); if (m.getMesType().equals(MessageType.message_Comm)) { QqChat qqchat = ManageQqChat.getQqChat(m.getGetter() + + m.getSender()); qqchat.showMessage(m); }else if(m.getMesType().equals(MessageType.message_ReturnFriendOnline)){ String con=m.getCon(); String friends[]=con.split( ); String getter=m.getGetter(); QqFriendList qqFriendList=ManageQqFriendList.getQqFriendList(getter); if(qqFriendList!=null){ qqFriendList.UpdateFriendList(m); } } } } catch (Exception e) { e.printStackTrace(); } } } 3) 网络类:class Net 作用:实现服务器客户端通信 public class QqClientConServer { public Socket s; public boolean SendLoginInfoToServer(Object o) { boolean b = false; try { s = new Socket(127.0.0.1, 9999); ObjectOutputStream Oos = new ObjectOutputStream(s.getOutputStream()); Oos.writeObject(o); ObjectInputStream Ois = new ObjectInputStrea

文档评论(0)

1亿VIP精品文档

相关文档