在编写JAVA聊天室的过程中,让我学到了很多东西,有知识方面的,而更多的是经验。

从以前学习C,到现学习JAVA,有很多的地方不习惯。主要的就是思想不会转变。但是还是有很多相似的地方,

比如,如何实现心中所想的东西时,很多函数的编写的方法是类似的,而不同的是JAVA多了继承、多态、封装等等

面向对象的东西。所以在整体构思方面差异比较大,但是细节方面还是类似的。

编写聊天室让我对面向对象的了解算是更进一步了。

首先:聊天室实现的就是聊天;用户与用户之间实现聊天的功能。

然后:对于聊天这个功能如何实现呢?

1、    要实现用户与用户之间的交流,必须要有一个通信实体做出“主动姿态”,主动接受来自其他通信实体的连接请求。这就是服务端。

2、    客户端——用于连接到服务端,然后实现用户之间的通信。

所以这里的服务器和客户端便是两个对象,它们能实现用户之间的通信。

对于总体的构思擦不多就是这样。所以现在需要的便是一步一步的细化下去。、

一、              服务端

a)         服务端如何实现主动接受其他通信实体的连接请求?

b)        如何实现客户端之间信息的收发?

c)        服务端应该有些什么样的功能呢?

二、              客户端

a)         如何连接到服务端?

b)        客户端应该有些什么样的功能?

当慢慢的思考下去,思想便会慢慢的清楚。

再开始编写的时候,其实头是乱的,摸不着头绪,因为那时候开始的时候便在想:如何写连接?如何写收发信息?如何写连接?等等。也许这就是学C的时候的习惯思想,那时候写过的最大的程序便是俄罗斯方块,其余的便是在搞算法。不过当自己慢慢的习惯JAVA的编程思想之后,便是好多了。

-----------------------------------------------------------------------

对于服务端和客户端的设计

1、  服务器端的主要功能:

a)         在特定的端口上进行监听,等待客户端连接。

b)        默认端口为30000 。

c)        向已经连接到服务的用户发送系统消息。

d)        统计在线人数。

e)         当停止服务器时,断开所有的用户连接。

2、  客户端的主要功能:

a)         连接到已经开启的聊天服务的服务端。

b)        用户可以配置连接后显示的用户名。

c)        当服务器端开启的话,用户可以随时登陆和注销。

d)        用户可以向所有人或者某一个人发送消息。

主要类和方法:

一、服务端:

1、ChatSever 便是服务器的主框架了。包括服务器的属于的定义、

组件的组合、事件的处理等等。

2、ServerListen 类是服务端的监听类。监听客户端是否连接。

3、ServerReceive 类是接收和发送客户端、服务端的消息。

4、LNode 类封装了用户的属性。

5、UserLinkList 类则是封装了对用户操作的方法。如:添加、查找、删除等;

6  ServerHelp 类这是帮助板块。

二、客户端

1、Client 类 则是客户端的主要框架。

2、UserSet 类 是对用户名的设置和修改。

3、ClientReceive 类 实现客户端和服务端消息的收发。

4、ClientHelp 类 这是帮助板块。

(具体代码就不发了,太多了。。)

----------------------------------------------------------------------------------

对于聊天室的编写部分已经完成了,接下来便是完善它的功能和修复它的一些BUG。因为发现有很多地方有BUG:

1、  客户端无法接收到服务端发出的系统消息。

2、  服务端无法收到客户端下线的消息,导致服务端无法删除以下线的客户端。所以客户端连接重复。

3、  当服务端停止服务时,客户端未断线。

4、  客户端不能接收到其他客户端的上线和下线消息。

目前发现的BUG就是以上几个。同时除了BUG以外,还发现很多的不足:

1、  客户端的IP设置是不能改变的,所以当服务端换IP时,客户端需要从源代码中去修改,导致不方便。

2、  服务端、客户端没有设置快捷按钮,导致每次启动都要通过“菜单”来启动和连接。

3、  所有的表现都是以文字表现的不能接收和发送图片。

以上是目前发现的不足点。希望能在修改之后得到完善。

java 聊天室系统实训总结_关于JAVA聊天室编写的总结相关推荐

  1. java 聊天室系统实训总结_Java聊天系统实训报告.doc

    Java聊天系统实训报告 一.实训目的: 1.理解C/S模式的软件系统结构,掌握网络编程的基本概念:2.了解Java 的多线程机制,掌握Java多线程技术的应用:3.熟练掌握基于TCP协议的Socke ...

  2. java 聊天室系统实训总结_java实训聊天系统报告总结

    java实训聊天系统报告总结 时间:2017/11/26 8:25:00 java实训聊天系统报告总结,实训能让人收获良多,下面带来java实训聊天系统报告总结,欢迎阅读参考. java实训聊天系统报 ...

  3. 计算机Java校内实训报告_计算机java实训总结的范本

    计算机java实训总结的范本 这一期的实习,虽然实习的时间不长,但是总体上收获挺大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦.以下是我在这次实习中的一些感悟和体会: 1. ...

  4. java门禁系统实训,Java 并发课题 : CyclicBarrier 打造一个安全的门禁系统

    Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统 继续并发专题~ 这次介绍CyclicBarrier:看一眼API的注释: /** * A synchronization a ...

  5. java聊天室(实训项目)

    这里是我们实训的一个关于java聊天室的项目,有需要的同学可以看看,私聊功能未完善. 话不多说,直接上代码. 服务器: package ChatRoom;import java.awt.Color; ...

  6. java聊天室代码实训总结_java实训聊天系统报告总结

    金融实训报告总结范文 java实训聊天系统报告,实训能让人收获良多,下面带来,欢迎阅读参考. 1 经过三个星期的学习,我们终于把这个图书馆管理系统做出来了,虽然做得不是很完美,但是却是我们这个小组的每 ...

  7. java 实训项目_实训方案(JavaWeb项目实训)-

    实训方案(JavaWeb项目实训)- 2012-2013学年第一学期 <Java Web项目开发实训>课程实施方案 课程名称(英文):Training of Java Web Projec ...

  8. OSS报表系统实训笔记

    OSS报表系统 实训笔记 实训公司:中科天地 (王海格,老师超好)                                     Edited by Hen Egg ,Michelangel ...

  9. java springboot房地产信息管理系统+实训报告+PPT+功能需求报告

    博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 java springboot房地产信息管理系统+实训报告+PPT+功能需求报告 ...

  10. 学校云计算机室,云计算实训室简介

    云计算技术作为IT行业未来发展趋势,同时作为国家重点发展产业,正处在高速发展时期,人才需求已凸显.然而,目前云计算人才培养体系还处在初级阶段,相关专业人才缺口巨大.因此,学院在2015年投入100余万 ...

最新文章

  1. EFI Shell 命令参考
  2. 【运筹学】表上作业法 ( 求初始基可行解 | 最小元素法 )
  3. 远程执行本地查找文件的命令并返回结果
  4. javascript事件循环机制EventLoop
  5. 如何训练孩子上厕所(初级篇)
  6. CMake 进行调试
  7. c语言程序为什么运行一半就自动关闭了,C语言为什么程序运行一半就出现停止工作...
  8. pytorch WHAT IS TORCH.NN REALLY?
  9. SAP License:SAP系统上线后的预收款处理
  10. MySQL数据库规范及解读
  11. faster rcnn第二阶段loss出现nan_深度学习训练Loss异常Debug思路
  12. 快速取得三位数的个位,十位,百位
  13. 移动端页面开发资源总结
  14. python画图代码乔治-2020阅读书单
  15. 我要开始记单词啦(定时记录背单词历程)
  16. uni 登录token方法_uni-app 中保持用户登录状态
  17. 一个比较好用而且免费的录屏软件
  18. 四句话送给项目人:谦逊不狂、博而有专、聪而不明、束己驭人
  19. 《电工学上》知识点整理(猴博士)
  20. CV未来,路在何方?李飞飞指路!

热门文章

  1. solr java 客户端
  2. kindle电子书转PDF,结合calibre工具和DeDRM_tools使用
  3. 互亿无线python接口
  4. 苹果CoreFoundation源代码
  5. 针式打印机无电脑测试软件,针式打印机断针测试软件合集
  6. 数学建模——数据包络分析步骤及程序详解
  7. 成都互联网公司和生活成本
  8. 制作字幕html怎么使用教程,anSuber字幕编辑软件使用详解
  9. Unity中文API参考手册
  10. Vue项目使用file-saver将html转word文件、把html内容下载保存导出到本地生成doc文件包括图片:前端下载利器FileSaver