毕业论文-基于JAVA聊天系统设计与实现(4)

2019-03-27 17:39

西北师范大学08级计算机专业学年论文

获得数据库连接对象 获得客户端号码

将用户的在线状态改为下线并清空其IP地址 If(执行成功) 向客户端发送成功信息 else

向客户端发送失败信息 }

服务器类框架

public class Server implements Runnable{ 定义套接口 定义输入输出流

public Server(Socket s,??){ 获得传递参数 创建输入输出流 }

public void run(){ while(bool){

获得客户端的输入字符串 判断字符串的命令类型 根据命令调用相应的处理方法 }

12

西北师范大学08级计算机专业学年论文

} }

3.3 客户端软件结构

客户通过Socket建立于服务器的连接。服务器建立输入输出流,然后双方通过该输入输出流来相互传递信息,一旦受到客户端的连接请求,服务器accept()方法返回一个新建的Socket对象。客户端然后向服务器发送消息,例如注册、登录、查找好友等,服务器受到来自客户的请求后,针对不同的消息处理请求,做出不同的响应。

虽然UDP协议不是可靠的协议,但是对于网络聊天程序而言,可靠性并不太重要,UDP具有通讯速度快的优点,所以客户间发送信息采用UDP协议。用户登录时,通过类DatagramPacket和DatagramSocket创建UDP包,其中包含了本地介绍端口以及发送端口,通过取得好友的IP地址向好友发送消息和接受消息。当用户通过UDP受到消息后,可以通过DatagramPacket的方法InetAddress getAddress()得到对方的IP地址,通过对好友列表比较以判断是谁并提示用户受到某某的消息,然后用户选择该用户查看消息,如果好友列表没有该人就显示受到陌生人的消息。

客户端与服务器交互的流程如图3-3所示。

13

西北师范大学08级计算机专业学年论文

服务器端

客户端 创建Socket 连接信息 发送请求类请求命令 发送信息 信息

发送完毕 完毕信号 接收信息 结果

做出处理 结束信号 返回结果 结束 停止接收 执行操数据库 接收信息 做出相应处ServerSocket 等待客户请

图3-3 客户端与服务器端交互流程

客户端的程序框架如图3-4所示。 登录模块 主界面 注册模块 客户端程序

发送 消息 添加好友 查找好友 删除好友 查看信息 更改信息 上线提示 下线提示 图3-3 客户端程序框架

登录模块

登录模块是本软件客户端执行的第一个模块。用户在界面上输入自己的账号和密码,必要时还需要输入服务器的IP地址和端口号。程序用此来与服务器建立连接,告诉服务器等去登录的账号和密码。服务器收到后,读取数据库中的信息,然后与用户输入的信息比较,如果相同,就向客户返回成功消息并将其

14

西北师范大学08级计算机专业学年论文

Status字段设为1,表示上线及注册其IP地址,否则返回错误标志。

主界面

如果登录成功,登录程序将打开主程序窗口。主程序将向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的FRIEND表,得到好友的号码后,再在USER表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,例如,头像昵称等。该界面主要有5个功能:

○1 更新功能 ○2 查看基本信息 ○3 添加好友 ○4 删除好友 ○5 聊天功能 注册模块

在登录窗口中单击“注册”按钮,就可以进入注册窗口。当服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的昵称、性别、籍贯、头像、个人资料等。接受完毕后,便与后台数据库连接,然后向数据库添加记录。如果成功,便向客户返回其QQ号码,并在数据库中注册用户的IP地址,然后更新其Status为1,即用户在线。客户收到服务器返回的信息后便打开主程序窗口,并同时开始创建UDP以便在用户之间建立联系。

15

西北师范大学08级计算机专业学年论文

3.4 测试运行

用二台机器通过路由器构成一个局域网,进行正确的网络配置,两台台机器上都安装的是WINDOWS操作系统,经过测试可正常运行。

16


毕业论文-基于JAVA聊天系统设计与实现(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学六年级数学总复习资料简便运算练习(2)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: