```xml
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-server-socketd</artifactId>
</dependency>
```

#### 1、描述

通讯扩展插件，基于 [socket.d](https://gitee.com/noear/socketd)  的应用协议适配。


* 支持的传输协议包

| 适配                                        | 基础传输协议      | 支持端 | 安全  | 备注         |
|--------------------------|-----------|-----|-----|------------|
| org.noear:socketd-transport-java-tcp      | tcp, tcps | c,s | ssl | bio（86kb）  |
| org.noear:socketd-transport-java-udp      | udp       | c,s | /   | bio（86kb）  |
| org.noear:socketd-transport-java-websocket  [推荐] | ws, wss   | c,s | ssl | nio（217kb） |
| org.noear:socketd-transport-netty  [推荐]        | tcp, tcps | c,s | ssl | nio（2.5mb） |
| org.noear:socketd-transport-smartsocket   | tcp, tcps | c,s | ssl | aio（254kb） |

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

```xml
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>socketd-transport-java-tcp</artifactId>
    <version>${socketd.version}</version>
</dependency>
```

* 增强的扩展监听器



|  增强监听器 | 描述 | 备注 |
| -------- | -------- | -------- |
| PathListenerPlus     | 路径监听器增强版     | 支持路径中带变量，例：`/user/{id}`     |
| SocketdRouter     | Socket.D 总路由     | 由 PipelineListener 和 PathListenerPlus 组合而成     |
| | | |
| ToHandlerListener | 将 Socket.D 协议，转换为 Handler 接口 | |


* 增强注解

`@ServerEndpoint`




#### 2、应用示例


```java
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 开发》](/article/learn-solon-remoting)



