服务概述
服务模块(Serv)是一套基于NIO实现的通讯服务框架,提供TCP、UDP协议的客户端与服务端封装,灵活的消息监听与消息内容编/解码,简约的配置使二次开发更加便捷;
同时默认提供断线重连、链路维护(心跳)等服务支持,您只需了解业务即可轻松完成开发工作。
maven包依赖
<dependency> <groupId>net.ymate.platform</groupId> <artifactId>ymate-platform-serv</artifactId> <version>2.0-SNAPSHOT</version> </dependency>
注:在项目的pom.xml中添加上述配置,该模块已经默认引入核心包依赖,无需重复配置。
基础概念
会话(session)
用于客户端与服务端之间连接状态的维护和消息发送的对象;
编/解码器(Codec)
目前提供以下两种编/解码器,开发者可通过实现ICodec接口自行扩展;
NiostringCodec:采用字节byte[4]作为消息头,用于记录消息体长度的字符串消息编/解码器;
TextLineCodec:用于解析以回车换行符(\r\n)做为消息结束标志的字符串消息的编/解码器;
内置服务(Service)
目前提供以下两种内置服务,更多服务在不断完善中...;
IHeartbeatService:内置链路维护(心跳)服务,该服务将在与服务端成功建立连接后按参数配置的时间间隔向服务端发送心跳消息(心跳消息内容默认为0字符,心跳消息内容可以通过自定义参数heartbeat_message设置);
IReconnectService:内置断线重连服务,当服务的连接状态异常时将尝试重新与服务端建立连接;