/MyChat

javaFX+mysql+TCP/IP

Primary LanguageJava

MyChat

1.综述

软件采用javaFX界面 + mysql数据库 + UDP网络通信协议的设计。软件实现了远程连接数据库进行增删改查功能。在通信方面,考虑到多个客户端(Client)间需要进行通信,故设计为服务器(Server)作为中间层,在客户端需要发送消息时,均先发给服务器,服务器收到后解析出消息内容和消息接收者,再将消息转发给另一客户端。这样即可实现多个客户端共用一套代码以及相同端口号,本软件客户端均使用8000端口发送消息,8888端口接收消息;服务器端使用8888端口发送消息,8000端口接收消息。另外,不仅仅是用户自主发送消息时是这样,在用户登录和登出时客户端会自动向服务器发送消息,原理也是如此。自动发送消息的目的是登陆是告诉服务器登陆用户是谁,服务器由此将此用户信息插入数据库online表,同时将数据库该表内容更新到所有用户“当前在线”窗口;登出时同样告诉服务器,服务器再将此用户信息删除并广播其他所有用户此用户已下线。 另外考虑到需要多客户端同时进行点对点通信,故继承Runnable接口,多线程监听端口以等待消息。以上即为基本通信原理,由此可实现本软件的基本功能。

2.登陆

所有操作前需先将服务器打开,此后进入登陆界面,输入用户ID及密码即可登陆,若没有账号则点击“Sign up”按钮注册账号。

3.开始聊天

登陆成功后进入主界面,同时服务器端提示刚登陆用户的IP。左下角显示当前在线用户,左上角输入IP地址后点击“Send”按钮可将消息发出。

点击“File”按钮可选择文件,确认后可将文件发送到对方IP,原理同文字消息通信一样。收到文件以及本次聊天记录默认保存在D:\MyChatDownload目录下。