仿QQ聊天室项目功能总结

项目源码开源在gitee(码云)

地址:https://gitee.com/xiaoclgitee/imitation-qq-chat-room

项目功能总结:

1、页面制作
采用Java 的Swing的Jframe 的框架进行GUI的制作
主要有三个界面:1、用户登录界面 2、用户聊天窗口界面 3、服务台后台界面。 用户的登录界面主要有三个地方:一个是用户名和密码的输入框(用的JTextField),还有两个(JBbutton),一个是注册,另外一个是登录。 假如,我们点击的是注册的功能,这个时候就会在这个JButton的监听器上,形成一个监听事件,就会向我们本地的一个要用来保存用户名和密码的文件,写入我们的想要注册的用户名和密码,利用基于FileOutputStream 的FileWriter(字符流),一次写入一行我们要注册的用户名和密码。如果我们点击的是登录的Jbutton,就行启动另外一个监听器事件,进行用户的登录。

2、 服务端和客户端的连接
基于Socket的连接,在服务端, 利用ServerSocket的对象,并在while(true)的死循环下,利用accept()的方法去监听客户端的连接,以此可以实现多个客户端的连接。当监听到有客户端端连接时,会创建我们事先定义好的ServerHandler的线程类,并启动,传入的参数是(Socket, ServerFrame),与该连接的客户端Socket对象以及服务器后台窗口。
而客户端的连接类似,客户端进行连接的动作就是,当输入完用户名和密码的时候,点击登录的JButton的时候,会进行与服务器的连接,同时会向服务器写入一个消息,把从JTextField上获取的用户名和密码写给服务器端,让服务器端对该用户名和密码进行判断,是否正确。同时自己也会创建一个的ClientHandler 的线程类对象,并启动,传入的参数是与服务器建立连接的Socket,以及登录的窗口界面。

3、如何进行消息的传输
每当客户端和服务端需要进行信息读写的时候,我会首先把读写的消息封装成一个类。为什么我要封装成一个类,因为我们想要发送的信息种类很多,比如,登录验证的消息,聊天的消息,发送图片的消息,抖动的消息,群聊还是私聊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖大仙~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值