代码拉取完成,页面将自动刷新
spring-boot-netty-starter是一款spring-boot和netty的整合框架,对于不太了解netty的同学,能够实现快速开发基于netty的socket服务器.其中实现了大量的注解和过程拦截器,能够无缝对接spring-boot进行快速开发,光说不练假把式,接下来就让我们开始吧!
第一步:
<dependency>
<groupId>site.peaklee.framework</groupId>
<artifactId>spring-boot-netty-starter</artifactId>
<version>${Last-version}</version>
</dependency>
第二步:
import org.springframework.boot.autoconfigure.SpringBootApplication;
import site.peakleeframework.core.SpringSocketApplication;
@SpringBootApplication
public class MySocketServer {
public static void main(String[] args) {
SpringSocketApplication.run(MySocketServer.class, args);
}
}
第三步:
import site.peakleeframework.annotation.Handler;
import site.peakleeframework.handler.adapter.AdapterSessionInboundTypeHandler;
import site.peakleeframework.session.impl.Session;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Handler(1)
public class MessageHandler extends AdapterSessionInboundTypeHandler<String> {
@Override
public void onMessage(Session session, String msg) {
log.info("message received:{}",msg);
//todo 业务方法实现
}
}
AdapterSessionInboundTypeHandler
类中实现了Session
对象的管理,直接调用即可,且无需向netty
的initChannel
进行注册,只需要加入注解@Handler
即可自动注册,数字1
表示注册的顺序,即handler
的处理顺序BeforeSocketReadMessage
,该接口的消息回调优先级大于AdapterSessionInboundTypeHandler
import site.peakleeframework.core.spi.BeforeSocketReadMessage;
import site.peakleeframework.session.impl.Session;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class MessageListener implements BeforeSocketReadMessage {
@Override
public void beforeReadMessage(Session ctx, Object msg) {
log.info("message received:{}", msg);
//todo 业务方法实现
}
}
第四步:
7080
,默认编解码器是String
类型,启动完成后会返回一个SocketConfigurableContext
上下文对象,随后让我们一起来发现它的用途吧此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。