很久之前做的一个东西,现在拿出来整理一下放在自己的博客中!
一. 设计目的
随着人互联网的发展,人和人之间的沟通方式也越来越便捷和多样化,在线聊天工具已经成为人们生活中够通不可缺少的部分,在学习完
java网络编程课程,如果能开发一款属于自己的聊天工具,和好友进行私密对话,则是一件令人兴奋的事。同时,安全可靠的TCP这两种
通信协议,是非常重要的内容,值得研究。
二. 设计内容
本聊天室程序基于C/S模式,聊天室共分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的消息,客户端需登陆到服
务器才可以实现正常的聊天功能。
通过本项目的设计实践,力求熟练掌握GUI程序设计、多线程技术、基于TCP的Socket通信编程。
三.各个模块详细的功能描述。
该简易聊天室是为许多喜爱聊天的用户开发设计的,和许多大型的网络聊天室相比该小聊天室功能比较简单,但能实现基本的聊天功能,
点对多、点对点聊天和基本的用户功能,登录、注销、查看在线用户等。
(1) 用户设置:
功能描述:用户自定义自己的登录名,成功设置后,服务端能接收到新设置的用户名;
(2) 登录功能:
功能描述:在服务端开启的情况下,用户可以以自己自定义或者默认的登录名和登录地址端口登录到客户端,并能在服务器端显示登录状态;
(3) 群聊:
功能描述:用户在聊天室中可以选择与“所有人”聊天,聊天室中的其他在线用户可以正常接收并正确显示公聊消息。
(4) 私聊:
功能描述:用户可以选择与聊天室的在线用户列表中的其他用户聊天。双方的聊天记录对于聊天室的其他用户是不可见的。
(5) 聊天心情:
功能描述:用户在聊天的过程中可以选择相应的心情来表达自己的情感。
(6) 系统消息:
功能描述:服务端正常运行的过程中,在聊天室的每一个用户都能接收服务器端发送的信息提示信息。
(7) 用户状态:
功能描述:每一个客户端用户都可以实时看到目前其他在线用户的状态。
(8) 用户注销:
功能描述:用户可以注销自己的账号,并重新登记登录名和地址。
(9) 用户退出:
功能描述:用户可以在正常情况下退出聊天室。
(10) 服务器端:
功能描述:只有在服务端开启的情况下,用户才能登陆成功和聊天;用户设置的地址端口也必须与服务端的侦听端口一致,否则不能登录。
(11) 截 屏:
功能描述:客户端同过鼠标点击实现截屏然后自动重命名防止覆盖。