基于socket的聊天程序内容摘要:

分别设计客户端与服务器端的界面,并使用 Java 应用程序用户界面的开发工具包 Swing 进行窗体界面的布局,以及实现部分窗口事件的相应。 (图 1 系统框架图) 6 (图 2 系统通信原理图) 3) 数据库设计,本系统使用的数据库为 MySQL;因为本系统只简单的记住用的信息,所以系统只设计了一张 t_users(用户表)表 : 字段名 类型 是否为空 备注 Username Varchar(45) NOT NULL 用户名 Password Varchar(45) NOT NULL 密码 其中用户名为主键 4) 数据传输格式,本系统在消息传送时使用的是 XML 格式的数据,格式定义如下 (系统按照 type 的值 ,执行相应的解析方法 ): 登录时的消息格式 (客户端 服务器 ): message type1/type user用户名 /user pwd密码 /pwd /message 聊天消息的格式 (客户端 服务器 ): message type2/type user用户名 /user time时间 /time content消息内容 /content /message 7 聊天消息的格式 (服务器 客户端 ): message type3/type time时间 /time content消息内容 /content /message 更新用户列表格式 :(服务器 客户端 ) message type4/type user用户名 /type /message 用户退出时消息格式 :(客户端 服务器 ) message type5/type user用户名 /type /message 服务器关闭时消息 :(服务器 客户端 ) message type6/type /message 客户端确认关闭消息 :(客户端 服务器 ) message type7/type /message 登录结果 :(服务器 客户端 ) message type6/type result结果 /type /message 模块设计 服务器端 : 主要实现向各个客户端发布系统消息,接受来自客户端的各种信息并分别处理。 具体功能如下: ①连接控制: 包括启动服务器、断开服务器以及断开某个客户端的连接; ②登陆信息: 检查用户是否成功登陆,如登录,发消息通知所有用户。 同时刷新在线用户列表; ③刷新列表: 在有用户登陆或离开的时候实时更新列表,并将信息反馈到各个客户端; ④消息处理: 解析客户端与服务器端的消 息交互类型,并做出相应处理,把再把消息发送到各个客服端。 8 客户端 : 主要实现向服务器端发布消息,并且对来自服务器的消息做出相应的响应。 具体功能如下: ①连接功能: 设置服务器 IP 地址和端口号,连接服务器,实现登录及断开功能; ②登录设置: 登录时,发送消息使服务器端获得相关登录信息,包含用户名和密码; ③监听作用: 实现对服务器发送过来的消息进行监听的功能; ④消息处理: 接收由服务器端发送来的信息,并做出相应的响应,查看消息,清空消息记录; 四、详细设计与实现 服务端设计 服 务端的设计的所有类放在 包中 : : 服务端的 UI 界面设计 ,继承于 JFrame,是服务端主界面的入口。 : 继承于 Thread 类 ,其中 public ServerConnection(Server server, int port)。 设计服务器的端口号。 public void run()。 处理每个用户登录信息 ,为每个成功登录的用户创建一个 ServerMessageThread 线程对象为其服务。 其中 Socket socket = ()。 等待获取客户端的连接。 :。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。