NeTalk是我给我写的聊天软件想的名字,当然是模仿google的GTalk,对腾讯的意见就不提了,本人还是崇尚GTalk简洁的风格。不过现在只实现了基本的功能,界面也惨不忍睹,不过至少已经有了雏形了,小小总结一下最近的学习。
NeTalk
已实现的功能:
1,注册。
2,登陆。
3,多人聊天。
4,显示在线用户。
5,提示用户上/下线。
6,点对点通信。
7,后台控制,T用户,发送系统信息。
暂时没有保存注册信息到文件,毕竟这并不是核心部分,现在还只是一个公共聊天室而已,用户可以看到所有在线用户,所谓的点对点通信只是实现了私聊而已,而且每次只能发送一条私聊信息。
这就是登陆,注册,登陆都得界面,界面非常的干净,介于只是基本功能的实现,也没有做过多的美化,但是界面还算简洁。
用户登陆后可以看到所有在线的用户,当有人上/下线时,也会收到提示,用户列表也会同步。
涉及的关键技术点:
1,javax.swing组件应用
2,scoket通信
3,通信协议
4,多线程
从简单的命令行的多人聊天室,到添加界面,到使用通信协议,一路写过来基本上没遇到什么障碍。应该得益于一直明确程序的核心,一个是服务器端处理客户机连接的线程,一个是客户机端处理接收服务器信息的线程。无论功能怎么变化程序的编写都是围绕这两个核心类来编写的,只是处理信息的方式改变的,复杂了。
使用类似xmpp通信协议也使得信息的处理变得很简单,先制定通信协议和通信流程,后面的工作只是用Java语言来表达就行了,之后遇到的问题归根结底只是没有按照预定的通信流程而已。
下阶段目标:
1,实现添加好友,查看用户资料。
2,私聊界面。
3,保存用户信息到文件
4,系统托盘监听。
5,传送文件。
6,界面更美观,友好。