繁体   English   中英

如何将websocket编码器和解码器指定为简单类

[英]how to specify websocket encoder and decoder to simple class

我正在编写一个简单的websocket应用程序。 在此,我分离出消息发送功能。 更清楚的是,将onOpen, onClose, onMessage, onError等方法放置在以@ServerEndpoint注释的类中,即

@ServerEndpoint(value = "/test")
public class TestEndpoint {

    @OnOpen
    public void onOpen(Session session) throws IOException {
    }

    @OnMessage
    public String echo(String message) {
    }

    @OnError
    public void onError(Throwable t) {
    }

    @OnClose
    public void onClose(Session session) {
    }
}

我要负责将消息对象发送到MessageSender类,即

public class MessageSender {

  /**
  *
  * This method will take care of sending messages object
  */
  public void sendMessage(){
  }
}

所以MessageSender类应该使用的WebSocket的EncoderDecoder类,但按我的知识,我们可以使用EncodersDecoders只在@ServerEndpoint注释

喜欢,

@ServerEndpoint(值=“ / test”,编码器= Encoder.class,解码器= Decoder.class)

有什么方法可以将编码器和解码器用于简单的类?

EncoderDecoder将应用于创建的Session对象,因此,如果将其传递给MessageSender类,然后执行诸如session.getBasicRemote().sendObject(…) ,它将使用在上定义的同一组编码器@ServerEndpoint批注。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM