我目前正在构建一个使用Web套接字提供一些实时功能的React Native应用。我已经实现了redux并且可以正常工作,现在我正在尝试创建将保持Web套接字连接的中间件。虽然我熟悉React Native和Redux,但Socket连接对我来说是新的。 应用连接到的服务器是使用Spring构建的-它使用SockJS并使用STOMP协议。
我不确定用STOMP实现中间件的正确方法。尽管我遇到了许多启动Socket.io连接和SockJ的示例,但我找不到任何可以使用STOMP的示例。我正在寻找可以帮助我的示例或库。
在进行研究时,我尝试并使用以下示例只是为了使事情正常运行
import SockJS from 'sockjs-client'
import Stomp from 'stomp'
var stompClient = null;
const ws_url = 'MYURL'
const token = 'MYTOKEN'
export const setupSocket = (dispatch) => {
var socket = new SockJS(ws_url+token);
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
setConnected(true);
console.log('Connected: ' + frame);
stompClient.subscribe('MY TOPIC', function(messageOutput) {
console.log(messageOutput);
});
}
);
}
这给我带来了一个错误,指出“ stomp.default.over”不是一个函数(我看过this fix但不适用)
我能够在没有STOMP的情况下成功地使用sockJS创建连接。