React - Stomp Websocket 类未订阅主题

问题描述 投票:0回答:0

我目前正在做一个小项目,用户连接到一个现场拍卖网站并对物品进行出价。我主要是一名后端工程师,我的前端有问题,我不确定出了什么问题。我根据自己的需要在网上阅读的基本聊天应用程序指南对此进行了修改,但有些东西坏了,我不确定在哪里。

我能够连接到后端套接字连接。我能够向主题订阅发送出价,并看到它在我的后端注销。我相信它会正确返回消息。我可以在前端看到它在日志中的 initConnect 函数内部,但我没有在 onConnected 函数内部看到日志。所以我认为这可能是我构建 StompClientGenerator 类的方式的问题。这是下面的代码。

前端:React.js、Stomp 后端:Spring Boot

 import SockJS from 'sockjs-client';

export default class StompClientGenerator {



    constructor(user) {
        this.socket = new SockJS('http://localhost:8080/ws')
        this.stompClient = Stomp.over(this.socket)
        this.initConnect();
    }


    initConnect =  async (stompClient, user) => {
        console.log("initConnect")
        await stompClient.connect({}, stompClient.onConnected(stompClient, user), stompClient.onError())
    }


    onConnected = async (stompClient, user) => {
        console.log('onConnected')
        await stompClient.subscribe('/topic/bids', stompClient.onMessageReceived())
    }


     onMessageReceived = async (payload)=>{
        console.log("onMessageReceived")
        console.log(payload)
    }

    
    onError = async (err) => {
        console.log(err);
       
    }


}

如果有帮助,这是我的前端和后端完整存储库的链接!

https://github.com/jgarner828/AuctionHouse_React https://github.com/jgarner828/AuctionHouse

任何帮助将不胜感激!

javascript reactjs websocket stomp spring-websocket
© www.soinside.com 2019 - 2024. All rights reserved.