## 目录
* [说明](#1)
* [功能](#2)
* [如何使用](#3)
* [参考帮助](#4)
## <a name="2">功能</a>
已实现:
* 网络传输功能(使用 Netty5.0 实现)~~
* 会话管理功能
* 任务调度框架(使用Quartz框架为基础封装)
* MQTT完整实现(推送,单聊,群聊)
未实现:
* ~~安全层(消息加密、解密、防重放,防中间人等等)~~
* ~~好友功能(添加好友,删除好友,好友列表等等)~~
* ~~群组管理功能(添加群组,退出群组等等)~~
* ~~语音~~
* ~~视频~~
* ~~总之就是可以拓展的应用层都没做~~
## <a name="3">如何使用</a>
#### zer0MqttServer 的使用很简单:
* 下载源码(源码中包括所有依赖包)
* 检查 Java 版本是否为1.7或以上,不是则按照 Java 1.7及以上
* 导入IDE
* 引用依赖包
* 运行包 com.syxy.server 下的 StartServer 文件,即可启动服务器。
#### 测试方法也同样简单:
运行包 test 下的 MQTTClientTest 文件,即可开启测试客户端。
测试客户端包括的功能有:连接服务器、订阅主题、发送固定信息,客户端通过 pahoMqtt 第三方jar包编写,你可以自行修改代码进行更详细的测试
#### 下面简述一下项目的目录结构:
com.syxy.util 包中是一些公共类,包括缓冲池BufferPool、任务调度框架QuartzManager、字符串处理类StringTool、日期时间类TimeUtils等等
com.syxy.server 是网络应用层,StartServer 用于启动服务器,并初始化协议相关的类。TcpServer用于处理配置文件中的系统常量,并启动服务器。
com.syxy.protocol.mqttImp 定义了协议编码、解码、业务逻辑接口。并实现了具体的协议编码,解码,业务处理
com.syxy.protocol.mqttImp.message 中包含了14种消息类型的实体类,并将每个消息类型划分成固定头部、可变头部、荷载三部分。
com.syxy.protocol.mqttImp.process 中进行了协议的具体处理。最重要的是```ProtocolProcess.java```文件,其中完整实现了MQTT协议文件中的具体流程。
resource 文件中包含了一些配置文件,其中 mqtt.properties 文件可以针对缓冲区大小、临时存储文件名、服务器端口等信息
没有合适的资源?快使用搜索试试~ 我知道了~
使用Java AIO实现的MQTT协议服务器,用于推送和IM聊天
共76个文件
java:51个
jar:11个
properties:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 69 浏览量
2024-04-29
13:33:15
上传
评论
收藏 6.12MB ZIP 举报
温馨提示
已实现: * 网络传输功能(使用 Netty5.0 实现)~~ * 会话管理功能 * 任务调度框架(使用Quartz框架为基础封装) * MQTT完整实现(推送,单聊,群聊) 下载源码(源码中包括所有依赖包) 检查 Java 版本是否为1.7或以上,不是则按照 Java 1.7及以上 导入IDE 引用依赖包 运行包 com.syxy.server 下的 StartServer 文件,即可启动服务器。
资源推荐
资源详情
资源评论
收起资源包目录
MQTTServer-code.zip (76个子文件)
MQTTServer-code
.DS_Store 6KB
.classpath 1KB
.settings
org.eclipse.core.resources.prefs 168B
zer0MQTTServer
.DS_Store 6KB
lib
slf4j-log4j12-1.7.7.jar 9KB
mysql-connector-java-5.0.4-bin.jar 484KB
json.jar 38KB
slf4j-api-1.7.7.jar 29KB
quartz-jobs-2.2.2.jar 33KB
quartz-2.2.2.jar 645KB
log4j-1.2.17.jar 478KB
druid-1.0.9.jar 1.76MB
mapdb-1.0.8.jar 407KB
netty-all-5.0.0.Alpha2.jar 2.56MB
pahoMqtt.jar 164KB
.settings
org.eclipse.jdt.core.prefs 587B
src
log4j.properties 236B
test
MQTTClientTest.java 4KB
com
syxy
protocol
mqttImp
message
QoS.java 571B
PublishMessage.java 631B
FixedHeader.java 4KB
Message.java 2KB
ConnAckVariableHeader.java 884B
TopicSubscribe.java 614B
MessageType.java 933B
PublishVariableHeader.java 671B
PackageIdVariableHeader.java 661B
SubAckMessage.java 640B
ConnectMessage.java 638B
PackageIDManager.java 2KB
UnSubscribePayload.java 385B
ConnAckMessage.java 1KB
ConnectPayload.java 1KB
SubAckPayload.java 420B
SubscribePayload.java 460B
UnSubscribeMessage.java 670B
SubscribeMessage.java 965B
ConnectVariableHeader.java 2KB
MQTTProcess.java 3KB
MQTTEncoder.java 16KB
MQTTDecoder.java 17KB
process
ProtocolProcess.java 37KB
subscribe
SubscribeStore.java 7KB
Subscription.java 2KB
Token.java 425B
TreeNode.java 4KB
NettyAttrManager.java 2KB
Impl
IdentityAuthenticator.java 1KB
dataHandler
DBConnection.java 2KB
MapDBPersistentStore.java 9KB
ConnectionDescriptor.java 2KB
event
PublishEvent.java 1KB
job
RePublishJob.java 1KB
RePubRelJob.java 872B
PubRelEvent.java 611B
Interface
IMessagesStore.java 5KB
IAuthenticator.java 397B
ISessionStore.java 1KB
MQTTMesageFactory.java 3KB
server
StartServer.java 522B
TcpServer.java 3KB
util
StringTool.java 3KB
QuartzManager.java 4KB
coderTool.java 771B
TimeUtils.java 2KB
BufferPool.java 3KB
MqttTool.java 2KB
Constant.java 310B
resource
mqtt.properties 296B
druid.properties 1KB
log4j.properties 236B
.project 373B
LICENSE 18KB
.project 373B
.gitignore 56B
README.md 2KB
共 76 条
- 1
资源评论
MarcoPage
- 粉丝: 2955
- 资源: 3005
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功