java网络编程应用-本地版通讯QQ模拟
来源:互联网 发布:datagridview数据滚动 编辑:程序博客网 时间:2024/05/22 02:29
原题
编写一对多的聊天程序,程序由服务器和客户端两部分构成,两部分的交互方式如下:a. 客户端发送命令: <register name=”xu”/> 给服务器端注册用户,服务器端如果允许注册,则返回消息:<result command=”register” state=”ok” />,否则返回消息: <result command=” register” state=” error”message=”” />b. 客户端发送命令: <login name=”xu”/> 给服务器端进行登录, 服务器端如果允许登录,则返回消息: <result command=” login ” state=”ok” />,否则返回消息: <result command=” login” state=” error”message=”” />;c. 客户端发送命令: <message from=” xu” to=” zhang” message=”this is a test” > 给服务器端,服务器端收到命令后返回消息: <resultcommand=” message ” state=” ok” />;d. 服务器向指定客户端发送命令: <message from=”xu” to=”zhang”message=” this is a test” >,如果客户端收到消息,则返回: <resultcommand=” message ” state=” ok” />,如果 message 命令中的 from属性为空,则表示由服务器发送的消息。e. 客户端发送命令: <logout name=” xu” /> 给服务器端进行注销登录, 服务器端如果允许注销登录,则返回消息:<result command=” logout ”state=” ok” />,否则返回消息: <result command=” loginout” state=”error” message=”” />;程序可以采用 GUI,也可采用命令行的方式。
运行截图
项目说明
(1)本程序使用网络编程、多线程等内容实现了单机版的网络聊天室功能,并且使用题目中所指出的格式进行通讯,做到了分层,对对象封装等,有一定的扩展性(可以修改一部分地方以改成局域网版本)。
本程序启动之后,先要启动服务端,客户端之间才可以进行通讯(客户端进行通讯需要服务端进行转发)。
登录界面中的注册功能只能模拟请求,并没有真正的注册效果。
登录界面中的用户名需要唯一,作为发送的标识符,如果重复将无法登陆。
聊天界面中可以随时更改发送端的用户名。
项目包结构
项目大体架构
项目地址
https://github.com/EnTaroAdunZ/NetWord_Local_QQ.git
阅读全文
0 0
- java网络编程应用-本地版通讯QQ模拟
- java网络编程+通讯协议
- java网络编程+通讯协议
- java网络编程一:模拟qq聊天功能,实现一对一聊天
- java网络编程之Datagram通讯
- java网络编程+通讯协议的理解
- 网络协议模拟之QQ微博分享接口应用
- 模拟QQ聊天程序_服务器端_网络编程
- 模拟QQ聊天程序_客户端_网络编程
- java 从零开始,学习笔记之基础入门<网络编程_带QQ模拟功能>(二十)
- 模拟QQ(Socket编程)
- java网络编程,HttpClient 应用~
- Java学习之网络编程--模拟HTTP
- JAVA网络编程之模拟表单提交
- 案例四:java网络编程 双工通讯(带界面)
- [学习笔记]Java网络编程之UDP通讯
- [学习笔记]Java网络编程之TCP通讯
- [学习笔记]Java网络编程之UDP通讯
- 动态权限
- python No.1
- 如何移植sg3_utils到andriod系统中
- Nginx DNS不生效小技巧
- Rabbit官方文档翻译之Publish Subscribe(三)
- java网络编程应用-本地版通讯QQ模拟
- KNN cifar-10 L1 L2距离 交叉验证
- 【转】Protobuf语言指南
- LeetCode.199 Binary Tree Right Side View
- POJ 3083 棋盘问题(DFS+回溯)
- day1.
- 1.1PHP语言标记、指令分隔符、注释
- java socket调用webservice以及如何解决连接重置报错问题
- 浏览器中的 ES6 module 实现