java聊天系统实训报告

郑州轻工业学院实 训 报 告实训名称: 即时聊天系统 姓 名: 王路超 院 (系): 软件学院 专业班级: java01 学 号: 621313530123 指导教师: 刘育熙 胡春辉 成 绩: 时间: 2014 年 06 月 3 日至 2014 年 06 月 20 日一、学生信息专业 软件技术 学号 621313530123 姓名 王路超 二、用户需求及约束条件完成一个即时聊天程序,使用服务器、客户端(C/S)架构,实现多人之间和个体对个体的聊天。服务器端使用线程非阻塞方式。使用数据库保存用户信息,允许其注册修改。当用户不在线时,支持信息留言三、实训目的:1、理解 C/S 模式的软件系统结构,掌握网络编程的基本概念;2、了解 Java 的多线程机制,掌握 Java 多线程技术的应用;3、熟练掌握基于 TCP 协议的 Socket 编程;4、熟练掌握基于 UDP 协议的 Socket 编程;5、了解 Socket 编程的协议约定以及信息交互方法;四、实训要求:使用 JBuilder 提供的组件及网络包,开发一个实用的 C/S 模式聊天室系统。 (1 ) 功能要求要求该系统由客户端及服务器端两部分组成。(2 ) 系统界面要求:要求系统具有友好的用户界面,界面简洁、操作方便;本程序客户端主要完成了:1. 客户端发送信息可以广播客户。2. 广播客户,则将信息转发到所有客户端。服务器主要完成了:客户-服务器之间信息的交互。例如 hello 发送信息到服务器,服务器将信息转发到所有与之连接的客户(hello、boy) ,通过这种形式,就可以实现客户之间的信息广播。 本程序可以实现发送信息广播,只要进入客户端都可以看到消息,本程序采用了流的概念,java 多线程,Socket 应用程序中用到的代码如下启动端口如下:package 聊天系统;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.DataStream;import java.io.DataOutputStream;import java.io.IOException;import .Socket;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;public class 聊天系统 extends JFrame implements ActionListener, Runnable{ private JFrame app;private JPanel a1,a2,a3,a4,a5;private JLabel 输入昵称;private JTextField l1, l2;private JTextArea textArea;private JButton b1,b2,b3;protected Socket socket;protected Thread thread;protected DataStream in;protected DataOutputStream out;protected String nickname;public 聊天系统(){app=new JFrame(““);app.setSize(400,300);app.setLocation(500,500);app.setLayout(new BorderLayout());app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);a1=new JPanel();a1.setBackground(Color.yellow);a2=new JPanel();a2=new JPanel();a4=new JPanel();a4.setBackground(Color.red); a5=new JPanel();输入昵称=new JLabel(“输入昵称“);l1=new JTextField(12);b1=new JButton(“确定“);a1.add(输入昵称);a1.add(l1);a1.add(b1);textArea=new JTextArea();textArea.setLineWrap(true);textArea.setWrapStyleWord(true);textArea.setFont(new Font(“幼圆“,Font.PLAIN,16));l2=new JTextField(20);a4.add(l2);b2=new JButton(“发送“);b2.setEnabled(false);a4.add(b2);b3=new JButton(“离线“);b3.setEnabled(false);a4.add(b3);app.add(a1,BorderLayout.NORTH);app.add(new JScrollPane(textArea),BorderLayout.CENTER);app.add(a4,BorderLayout.SOUTH);app.setVisible(true);}public static void main(String[] args) {new 聊天系统();}@Overridepublic void actionPered(ActionEvent e) {if(e.getSource()==b1){b1Button();}if(e.getSource()==b2){b2Button();}if(e.getSource()==b3){b3Button();}}private void b1Button()//确定{}private void b2Button()//发送{try{out.writeUTF(nickname+“说:“+l2.getText());textArea.append(nickname+“说:“+l2.getText()+“\n

java聊天系统总结报告_java聊天系统实训报告相关推荐

  1. java迷宫实训报告_Java综合实训报告-迷宫.doc

    Java综合实训报告-迷宫 目 录 1.需求分析2 2.概要设计2 2.1功能图3 2.2系统流程图4 3.详细设计4 3.1类关系图5 3.2类设计图5 类Maze5 类MazeGrid6 3.3主 ...

  2. 基于javaweb的仓库管理系统(java+springboot+layui+html+thymeleaf+mysql+实训报告)

    基于javaweb的仓库管理系统(java+springboot+layui+html+thymeleaf+mysql+实训报告) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse ...

  3. mysql综训实训报告总结_实训报告总结收获.doc

    实训报告总结收获 实训报告总结收获实训报告总结收获篇一 <实训 收获总结报告> 实训总结报告 -----基于RFID的码头货物自动采集系统 项目简要概述: 1) 开发环境:Window x ...

  4. 计算机应用基础指法实训报告,计算机基础实训报告

    计算机基础实训报告 本文关键词:实训,计算机,基础,报告 计算机基础实训报告 本文简介:陕西国防工业职业技术学院<计算机应用基础>实训报告班级物流3102姓名郝斌学号88310222指导老 ...

  5. 北京电子科技学院c语言实验报告,最新单片机 实训报告电子万年历实训报告.doc...

    最新单片机 实训报告电子万年历实训报告 河南工程学院 单片机 实训报告 学 院 电气信息工程学院 专 业 电气工程及其自动化 组员及学号 李 东 盼 201250712138 高 辉 20125071 ...

  6. 计算机主机拆解报告,计算机主机拆装实训报告.doc

    计算机主机拆装实训报告 计算机主机拆装实训报告 班级: 姓名: 学号: 一.实训内容:计算机组装与维护 二.实训目的:通过计算机的组装,认识计算机的硬件和结构,了解计算机的整 个组装过程和注意事项. ...

  7. java类与对象实验报告心得体会_java实习实训报告心得【三篇】

    [导语]Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.而学习Java的同学java实习实训是必经的过程.以下是无忧考网整理的java实习实训报告心得,欢迎阅读! java实习实训报告心 ...

  8. java mysql实训报告_java数据库实训总结.doc

    java数据库实训总结 java数据库实训总结 篇一:JAVA数据库学生管理系统实训报告 实训报告 实训名称: 学生成绩管理系统实训 系 (部):专业班级:网络L1301学生姓名:刘鑫 学 号指导教师 ...

  9. JAVA EE项目开发及应用实训报告——网上考试系统

    ** JAVA EE项目开发及应用实训 ** 题 目: 网上考试系统 系 别: 专 业: 学生姓名: 学 号: 指导教师: 题目类型:•理论研究 •实验研究 •工程设计 •工程技术研究 软件开发 • ...

  10. javaee实训报告总结_JavaEE实训报告.doc

    JavaEE实训报告 数学与计算机学院 实 验 报 告 课程名称Java EE应用开发课程代码6014049实验时间2012年月日指导单位软件工程系指导教师周立章 学生姓名唐九零年 级2010级学 号 ...

最新文章

  1. R语言ggplot2可视化:水平半小提琴图(Horizontal Half Violin Plots)、去除水平半小提琴图中的填充色、ggridges包的绘制山脊图
  2. python统计字符出现的次数最多的字符_Python统计字符串中出现次数最多的人名
  3. mPaaS 月度小报|为采购而生,全新资源包上架;前端 2D 游戏化互动入门指南
  4. Java 理论与实践: 线程池与工作队列
  5. 怎么提前体验鸿蒙,鸿蒙OS手机版明天发布,开发者提前体验,上手操作毫无难度...
  6. Java开发学习教程之对象的创建与使用
  7. 1302数码管c语言程序,基于AVR单片机的DS1302数码管时间显示C语言程序设计
  8. 骑士CMS人才招聘系统初次接触
  9. 题解 [LuoguP5560][Celeste-B]Golden Feather
  10. 如何使用计算机管理员账户密码是什么意思,电脑管理员密码是什么
  11. HCE技术在城市一卡通中的应用探讨
  12. 网传程序员加班猝死,当事人:我还在写代码
  13. 不玩手机的步步高玩大数据:一条短信让你多买一只澳洲大龙虾
  14. vscode开发中绝对让你惊艳的插件!!!(个人在用) 持续更新。。。。
  15. 服务器固态硬盘raid没了,HP服务器磁盘阵列坏了怎么办,数据如何恢复?
  16. Nodejs下载与安装(官网选择)
  17. 热点新闻管理系统设计与实现
  18. java中遍历数组_java循环取数组值
  19. 《游戏设计艺术(第二版)》第八章个人学习
  20. 著名音乐app网易云推广运营策划案

热门文章

  1. Android 记事本功能的简单实现
  2. 数据迁移的心得 -SinoDB星瑞格数据库
  3. 热传递 matlab,一维热传导MATLAB模拟.pdf
  4. 教师高级职称中职称计算机,年龄达到45周岁的教师评高级职称需要考计算机吗...
  5. 操作系统实验一·创建进程
  6. 【论文阅读】【道路分割】Progressive LiDAR Adaptation for Road Detection
  7. 找工作别只盯着BATJ,这些“独角兽”企业性价比超高的好不好
  8. 如何学习自然语言处理 书籍、网站、视频
  9. c# 彩色图片变为黑白图片
  10. Android: How to Capture Screen in Gingerbread(2.3中实现截屏)(续)