簡體   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