图2 客户机功能模块
与服务器端比较,客户端是复杂的。它共包括三个窗口:一是登录窗口;二是聊天的主窗口;三是文件选择窗口。各个窗口的功能,共有以下几部分:
1、在登录窗口中,可向服务器发送连接请求。在服务器响应登陆请求后,自动跳转到聊天主窗口。
2、在聊天主窗口中,用户可以适时看到所有发言者的聊天内容,也可以发送自己的聊天内容。
3、在聊天主窗口中,单击文件操作按钮(包括上传和下载),系统自动跳转至文件选择窗口。
4、在聊天主窗口中,如果用户需要退出聊天室,可以单击退出按钮完成此操作。
5、在文件选择窗口中,用户可以浏览本地的文件,选择后上传给服务器。也可以查看服务器上保存的共享文件,选择后下载至本地。
聊天工具,最基本的功能就是客户机与服务器之间的交互。在本系统中,客户端与服务器端的交互流程如图3:
图3 服务器客户机交互流程
流程描述如下:
1、服务器首先启动,然后在指定端口上持续侦听是否有连接请求。
2、客户机启动,向指定地址上的的指定端口发送登陆请求。
3、服务器响应登陆请求,然后在在线客户机链表内添加登录成功的客户机套接字信息;同时客户机登陆成功,进入聊天主界面。
4、客户机向服务器发送聊天信息,同时在本地聊天主窗口的聊天记录框内显示此信息。
5、服务器接收到客户机发送的信息后,逐一读取客户机链表内的套接字信息,然后向表内所有在线客户逐一转发此信息。
6、客户机向服务器上传共享文件;此步骤不需要服务器的同意,上传的文件存放在服务器特定的文件夹内。
7、客户机需要下载共享文件时,直接浏览存放在服务器上特定文件夹内的共享文件。选择所需文件之后,直接下载至本地。