**本案在消息上报模式的基础上增加签权为例演示：**


### 1、服务端

```java
//启动服务端
public class ServerApp {
    public static void main(String[] args) {
        //启动Solon容器（Socket.D bean&plugin 由solon容器管理）
        Solon.start(ServerApp.class, args, app -> app.enableSocketD(true));
    }
}

//定义服务端监听
@ServerEndpoint("/")
public class ServerListener extends SimpleListener {
    @Override
    public void onOpen(Session session) throws IOException{
        System.out.println("有客户端链上来喽...");

        if("1".equals(session.param("sn")) && "1".equals(session.param("token"))){
            System.out.println("鉴权通过！");
        }else{
            session.close();
        }
    }

    @Override
    public void onMessage(Session session, Message message) throws IOException {
        //业务处理
        System.out.println("服务端：我收到：" + message.dataAsString());
    }
}
```


### 2、客户端

```java
public class ClientApp {
    public static void main(String[] args) throws Throwable {
        //启动Solon容器（SocketD bean&plugin 由solon容器管理）
        Solon.start(ClientApp.class, args);

        //创建会话（如果后端是WebSocekt，协议头为：sd:ws）
        ClientSession session = SocketD.createClient("sd:tcp://localhost:28080?sn=1&token=1").open();

        //上报消息
        session.send("demo", new StringEntity("Helloworld server!"));
    }
}
```

