Solon

solon.boot.socketd

v2.7.1 </> markdown
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon.boot.socketd</artifactId>
</dependency>

1、描述

通讯扩展插件,基于 socket.d 的应用协议适配。

  • 支持的传输协议包
适配基础传输协议支持端安全备注
org.noear:socketd-transport-java-tcptcp, tcpsc,ssslbio(86kb)
org.noear:socketd-transport-java-udpudpc,s/bio(86kb)
org.noear:socketd-transport-java-websocket [推荐]ws, wssc,ssslnio(217kb)
org.noear:socketd-transport-netty [推荐]tcp, tcpsc,ssslnio(2.5mb)
org.noear:socketd-transport-smartsockettcp, tcpsc,ssslaio(254kb)

项目中引入任何 “一个” 或 “多个” 传输协议包即可,例用:

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>socketd-transport-java-tcp</artifactId>
    <version>${socketd.version}</version>
</dependency>
  • 增强的扩展监听器
增强监听器描述备注
PathListenerPlus路径监听器增强版支持路径中带变量,例:/user/{id}
SocketdRouterSocket.D 总路由由 PipelineListener 和 PathListenerPlus 组合而成
ToHandlerListener将 Socket.D 协议,转换为 Handler 接口
  • 增强注解

@ServerEndpoint

2、应用示例

public class DemoApp {
    public static void main(String[] args) {
        Solon.start(DemoApp.class, args, app->{
            //启用 Sokcet.D 服务
            app.enableSocketD(true);
        });
    }
}

@ServerEndpoint("/ws/demo/{id}")
public class WebSocketDemo extends SimpleListener {
    @Override
    public void onMessage(Session session, Message message) throws IOException {
        session.send("我收到了:" + message);
    }
}

更多内容请参考:《Solon Remoting Socket.D 开发》