StompJs 仅在调试模式下工作 - React Native


import * as Stomp from "stompjs";
import _ from "lodash";
export const MESSAGE_TYPE_CHAT_TYPING = "ChatTyping";
export const MESSAGE_TYPE_CHAT_MESSAGE = "ChatMessage";
export const RECONNECT_DELAY = 3000;
export function wsConnect(user, callback, ondisconnected) {
const webSocket = Stomp.client(url);
webSocket.debug = () => {};
webSocket.connect({},() => {
callback ? callback(webSocket) : _.noop();
},
error => {
// console.log(error);
console.log("Connection lost...");
if (ondisconnected) {
ondisconnected();
}
}
);
return webSocket;
}

仅当应用处于调试模式时,才会在 WebSocket 上的 StompJ 之间建立连接。

我最近遇到了同样的问题,并通过安装text-encoding包并启用forceBinaryWSFramesappendMissingNULLonIncoming属性来修复它

  • npm install text-encoding --save
  • import * as encoding from 'text-encoding';添加到应用程序.js
const client = Stomp.over(socket);
client. Connect({
forceBinaryWSFrames:true,
appendMissingNULLonIncoming:true
}, (frame) => {
console.log('Connected: ' + frame);
});

最新更新