react-native-stompjs
v0.0.7
Published
STOMP for React native apps
Downloads
19
Maintainers
Readme
react-native-stompjs
This library provides a convenient way to connect to STOMP messaging servers from your React Native app. It leverages the react-native-tcp-socket library to bridge the gap between React Native's environment and the node.js-like net module that STOMP.js relies on.
Installation:
npm install react-native-stompjs
or
yarn add react-native-stompjs
Usage:
1. Import necessary modules:
import * as Stomp from 'react-native-stompjs';
import SockJS from 'sockjs-client';
2. Connect to the STOMP server:
const turnOnSocket = async () => {
try {
const token = await loadToken(); // Replace with your token loading logic
const socket = new SockJS('https://your-stomp-server-url/ws-location');
stompClient.current = Stomp.over(socket);
stompClient.current.connect({ token }, onConnected, onError); // Handle connection events
} catch (error) {
console.error('Error connecting to STOMP server:', error);
}
};
const onConnected = () => {
console.log('Connected to STOMP server!');
};
const onError = (error) => {
console.error('Error connecting to STOMP server:', error);
};
Case for use in react native app :
error: Error: Unable to resolve module net from C:\Users\user\projects\example\node_modules\stompjs\lib\stomp-node.js: net could not be found within the project or in these directories:
node_modules
12 | Stomp = require('./stomp');
13 |
14 | net = require('net');
Here is readme from STOMP.js
This library provides a STOMP client for Web browser (using Web Sockets) or node.js applications (either using raw TCP sockets or Web Sockets).
Web Browser support
The library file is located in lib/stomp.js
(a minified version is available in lib/stomp.min.js
).
It does not require any dependency (except WebSocket support from the browser or an alternative to WebSocket!)
Online documentation describes the library API (including the annotated source code).
node.js support
Install the 'stompjs' module
$ npm install stompjs
In the node.js app, require the module with:
var Stomp = require('stompjs');
To connect to a STOMP broker over a TCP socket, use the Stomp.overTCP(host, port)
method:
var client = Stomp.overTCP('localhost', 61613);
To connect to a STOMP broker over a WebSocket, use instead the Stomp.overWS(url)
method:
var client = Stomp.overWS('ws://localhost:61614');
Development Requirements
For development (testing, building) the project requires node.js. This allows us to run tests without the browser
continuously during development (see cake watch
).
$ npm install
Building and Testing
To build JavaScript from the CoffeeScript source code:
$ cake build
To run tests:
$ cake test
To continuously run tests on file changes:
$ cake watch
Browser Tests
- Make sure you have a running STOMP broker which supports the WebSocket protocol (see the documentation)
- Open in your web browser the project's test page
- Check all tests pass
Use
The project contains examples for using stomp.js to send and receive STOMP messages from a server directly in the Web Browser or in a WebWorker.