在GlassFish 4或Tyrus(WebSocket 1.0 API)中,Decoder有willDecode方法来确定此Decoder是否会解码。
但是Encoder没有willEncode方法。WebSocket API如何确定编码器。编码器应该有willEncode方法吗?
我从阿伦·古普塔那里得到了答案。
他说,解码器需要窥探信息并做出决定。编码器知道要编码的POJO。
那我就明白了。
不能为每个端点注册两个文本消息或二进制消息的MessageHandler,但可以为文本消息和二进制消息分别注册一个MessageHandler。Endpoint处理两种类型的POJO,因此WebSocket实现可以根据POJO类型来决定Encoder。
谢谢。