[英]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的Encoder
和Decoder
類,但按我的知識,我們可以使用Encoders
和Decoders
只在@ServerEndpoint
注釋
喜歡,
@ServerEndpoint(值=“ / test”,編碼器= Encoder.class,解碼器= Decoder.class)
有什么方法可以將編碼器和解碼器用於簡單的類?
Encoder
和Decoder
將應用於創建的Session
對象,因此,如果將其傳遞給MessageSender
類,然后執行諸如session.getBasicRemote().sendObject(…)
,它將使用在上定義的同一組編碼器@ServerEndpoint
批注。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.