0.8.5 • Published 4 years ago

@olehs/react-native-zeromq v0.8.5

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

react-native-zeromq

ZeroMQ client for React Native

Installation

Automatic (for Android with RN 0.28 and before)

If you have rnpm installed, all you need to do is

npm install @olehs/react-native-zeromq

or

yarn add @olehs/react-native-zeromq

Manual

Android (with RN 0.29 and above)

in settings.gradle

include ':react-native-zeromq'
project(':react-native-zeromq').projectDir = file('../node_modules/@olehs/react-native-zeromq/android')

in android/app/build.gradle

dependencies {
    compile project(':react-native-zeromq')

in MainApplication.java add package to getPackages()

import org.zeromq.rnzeromq.ReactNativeZeroMQPackage;

// ...

@Override
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        new MainReactPackage(),
        // ... ,
        new ReactNativeZeroMQPackage()
   );
}

Additionally multi dex support could be required.

API

ZeroMQ.socket(ZeroMQ.SOCKET_TYPE socketType) (Promise) - creates new ZeroMQ socket of corresponding type

ZeroMQ.getDeviceIdentifier() (Promise) - returns user-friendly device identifier

socket.bind(String address) (Promise) - set socket to listen state (acts as a server)

socket.connect(String address) (Promise) - connect socket to remote server (acts as a client)

socket.setIdentity(String identity) (Promise) - set client identity for ZeroMQ protocol

socket.send(String body, int flags) (Promise) - send message. To send multipart message, use ZMQ_SNDMORE flag

socket.recv(int flags) (Promise) - read incoming message, if available. Use ZMQ_DONTWAIT flag to read immediately

socket.close(String address) (Promise) - close connection (and destroy object). Alias: .destroy()

Usage

Methods should be called from React Native as any other promise. Prevent methods from being called multiple times (on Android).

Example

import { ZeroMQ } from "@olehs/react-native-zeromq";

ZeroMQ.socket(ZeroMQ.SOCKET.TYPE.DEALER).then((socket) => {
  socket.connect("tcp://127.0.0.1:5566").then(() => {
    socket.send("Hi there!").then(() => {
      socket.recv().then((msg) => {
        console.log(msg);
      });
    });
  });
});
0.8.5

4 years ago

0.8.4

4 years ago

0.8.3

4 years ago

0.8.2

4 years ago

0.8.1

4 years ago

0.8.0

4 years ago

0.7.0

4 years ago

0.6.1

4 years ago

0.6.0

4 years ago