我遇到了apache mina和websocket通信的问题。
握手工作正常,我与我的服务器有一个工作连接,但如果我的客户端发送一个字符串到我的服务器,字符串接收但我无法在控制台中显示它们。
public void messageReceived(IoSession session, Object message) throws Exception {
System.out.println(message.toString());
if(message.toString().length() > 20 && message.toString().substring(0, 17).equals("Sec-WebSocket-Key")) {
new Thread(new WebsocketHandler(session, message)).start();
} else {
//
}}
我的服务器日志表明邮件已收到
INFO:RECEIVED:HeapBuffer [pos = 0 lim = 10 cap = 2048:81 84 88 45 2B 31 DC 00 78 65]
但我无法显示消息,我认为这是我的TextLineCodecFactory过滤器,但我不知道为什么。
问候
答案 0 :(得分:1)
尝试使用此编解码器来处理与websocket相关的所有内容:https://issues.apache.org/jira/browse/DIRMINA-907
答案 1 :(得分:0)
写入时添加“\ r \ n”。
byte[] bytes = content.getBytes("UTF-8");
outputStream.write(bytes);
outputStream.write("\r\n".getBytes());