毕业设计系统需求分析
任何聊天系统不外乎由服务器端和客户端两部分组成,本聊天系统也不例外也是由服务器端和客户端组成,其中服务器端主要是完成对数据库的操作、监听客户端、和建立连接三个部分既可,客户端则要完成用户的新建、用户的登陆、查找好友和聊天功能,这样就基本完成了系统功能模块(如图2.1)的划分。
2.1系统的功能模块
2.2.1服务器端
如上图(图2.1)所示服务器端主要完成建立连接、操作数据库、监听客户的功能,其具体含义是,首先服务器端建立一个ServerSocket的连接,不断侦听是否有客户端要和服务器端连接或者断开连接,当有客户断要与服务器建立连接服务器立即创建一个新的线程与客户端建立连接,然后再对数据库做出相应的操作最后把结果返回给客户端,服务器端对数据库的操作包括录入用户信息、修改用户信息、查找好友数据库的资料以及添加好友到数据库等等,总之对数据库的操作也就是对数据库进行增、删、改、查操作。
2.2.2客户端实现的功能
1.用户注册
服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的呢称,性别,籍贯,个人资料等,接受完毕后,便通过Jdbc-Odbc与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其号码,并在数据库中注册用户的IP地址,然后更新其Status为1即用户在线。客户收到服务器返回的信息后,便打开主程序窗口,并同时开始创建UDP以便在用户之间建立联系。
2.用户登录
在客户端,用户输入其号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过JdbcOdbc读取数据库,然后与用户输入的信息比较,如果相同就向客户返回成功消息并将其Status字段设为1表示上线了以及注册其IP地址,否则返回错误,如果客户收到成功信息就打开主窗口,否则提示出错。如果成功,便打开主程序窗口,并同时开始创建UDP以便在用户之间建立联系。然后客户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的friend表,得到好友的号码后,再在icq表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,并且建立几个矢量(Vector)用以存储好友的呢称,号码,ip地址等信息。
3.好友管理功能
用户登录后,按查找按钮后,开始向服务器发出查找请求,服务器读取数据库表icq并向客户返回其结果,客户收到后在查找窗口中显示,如果用户选择了一个好友,就向服务器发送添加好友请求,服务器收到后就向数据库表friend中添加自己的号码以及好友的号码,并从icq表中读取其基本信息返回给客户端,然后客户收到并在主窗口显示该好友。并且通过UDP通知该客户,对方收到该消息后,可以选择添加该用户为好友或者不。
用户在其好友列表中选择要删除的好友并按删除,然后向服务器发送删除请求,服务器收到该请求后,连接数据库表friend删除用户及该好友的记录,如果成功就向客户返回成功消息,客户收到后在其好友列表中删除该好友。
4.收发信息功能
收发信息是本聊天系统的核心部分,也是本系统网络传输的体现所在。两个客户端可以通过UDP协议直接通信,不管你的好友在不在线都可以通过UDP协议给他(她)发送消息,同时也可以接受好友发给你的消息。