Web套接字连接成功,101协议更改但在从服务器获取消息时遇到错误

时间:2018-04-18 06:02:59

标签: spring ionic-framework spring-websocket

使用Spring Web套接字服务器端从服务器到客户端(离子应用程序是客户端)的持续更新,使用STOMP进行连接。

连接后面临问题。客户端"Unhandled frame: stomp.js:134 <<< c[1007,"null"]",服务器上发现"com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'CONNECT': was expecting ('true', 'false' or 'null')"错误。

客户端的控制台日志:

打开网络插座......  Web套接字已打开......

  
    
      

CONNECT       接受版本:1.1,1.0       心脏搏动:10000,10000

    
  

&LT;&LT;&LT; Ø  未处理的框架:

&LT;&LT;&LT; C [1007&#34;空&#34;]  未处理的框架: 内容长度:13

[1007&#34;空&#34;]  哎呦!失去与ws://127.0.0.1:8080 / ...

的连接

1 个答案:

答案 0 :(得分:0)

如果在Java Spring上将SockJS与Stomp一起使用,则必须使用套接字JS协议封装Stomp框架。

用于发送"CONNECT\naccept-version:1.1,1.0\nheart-beat:10000,10000\n\n" + String.fromCharCode(0)

您必须发送以下框架:"[\"CONNECT\\naccept-version:1.1,1.0\\nheart-beat:10000,10000\\n\\n\\u0000\"]"

飞镖代码:

String data = "CONNECT\naccept-version:1.1,1.0\nheart-beat:10000,10000\n\n" + String.fromCharCode(0);
data = "[${json.encode(data)}]";

或者如果您不使用Sock JS

尝试在脚踩框内将\ u0000更改(char)0