首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有@stomp/stompjs的Web套接字连接

带有@stomp/stompjs的Web套接字连接
EN

Stack Overflow用户
提问于 2021-12-30 10:32:12
回答 1查看 1.3K关注 0票数 0

我仍然是新的反应本机,我目前正在工作的项目,需要实现一个websocket连接,在new本地应用程序和订阅主题,以接收消息从websocket。当我试图使用@stomp/stompjs实现它时,我无法连接到websocket,onConnect函数无法工作。

下面是我的代码

代码语言:javascript
复制
import { Client, Message } from '@stomp/stompjs';
const stompConfig = {
    connectHeaders: {},
    brokerURL: "ws://203xxxxxxxx/xxx/connectSocket",
    debug: function (str) {
        console.log('STOMP: ' + str);
    },
    reconnectDelay: 200,
    onConnect: function (frame) {
        console.log("connected")
        const subscription = stompClient.subscribe("/topic/public/" + userId, function (message) {
            console.log(JSON.parse(message.body));
            
        });
    },
    onStompError: (frame) => {
        console.log('Additional details: ' + frame.body);
    },
}
stompClient = new Client(stompConfig);
useEffect(() => {
    stompClient.activate();
}, [])

这是我得到的输出日志

代码语言:javascript
复制
 LOG  STOMP: Opening Web Socket...
 LOG  STOMP: Web Socket Opened...
 LOG  STOMP: >>> CONNECT
 accept-version:1.0,1.1,1.2
 heart-beat:10000,10000

如能提供任何帮助,将不胜感激:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-31 05:09:22

伙计们,在做了一些研究之后,我找到了解决方案,很明显,@stomp/stompjs中存在一些用于react的bug,您可以通过将这一行代码添加到我的stompConfig中来查看解决问题的这里

代码语言:javascript
复制
stompConfig:{
...,
forceBinaryWSFrames: true,
appendMissingNULLonIncoming: true,
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70530384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档