如何指定websocket编码器和解码器到简单的类

时间:2014-12-17 09:33:35

标签: java netbeans websocket

我正在编写一个简单的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类,但据我所知,我们只能在Encoders注释中使用Decoders@ServerEndpoint

喜欢,

@ServerEndpoint(value =" / test",encoder = Encoder.class,decoders = Decoder.class)

有没有办法使用编码器和解码器进行简单的课程?

1 个答案:

答案 0 :(得分:0)

EncoderDecoder将应用于已创建的Session对象,因此,如果您将其传递给MessageSender类,然后执行session.getBasicRemote().sendObject(…)之类的操作},它将使用@ServerEndpoint注释中定义的同一组编码器。