Skip to content

Repository files navigation

UDP in React Native

node's dgram API in React Native

This module is used by Tradle

Install

npm install --save react-native-udpsocket

Link in the native dependency

react-native link react-native-udpsocket
# OR, if you're using react-native older than 0.31:
rnpm link react-native-udpsocket

Android

  • support >= Android 7.0

  • Register and load the Native Module in your Main application (import, getPackages)

    • Note: prior to react-native 0.29.2, this should happen in your Main Activity
...
importcom.tradle.react.UdpSocketsModule; // <--- import //publicclassMainApplicationextendsApplicationimplementsReactApplication {
...
@OverrideprotectedList<ReactPackage> getPackages() {
returnArrays.<ReactPackage>asList(
newMainReactPackage(),
newUdpSocketsModule() // <- add here //
);
}
}

Buckle up, Dorothy

Usage

package.json

only if you want to write require('dgram') in your javascript

{
"browser": {
"dgram": "react-native-udpsocket"
}
}

JS

see/run index.js for a complete example, but basically it's just like dgram

vardgram=require('dgram')// OR, if not shimming via package.json "browser" field:// var dgram = require('react-native-udp')varsocket=dgram.createSocket('udp4')socket.bind(12345)socket.once('listening',function(){varbuf=toByteArray('excellent!')socket.send(buf,0,buf.length,remotePort,remoteHost,function(err){if(err)throwerrconsole.log('message was sent')})})socket.on('message',function(msg,rinfo){console.log('message was received',msg)})

Note

If you want to send and receive node Buffer objects, you'll have to "npm install buffer" and set it as a global for UdpSockets to pick it up:

global.Buffer=global.Buffer||require('buffer').Buffer

TODO

add select tests from node's tests for dgram

Contributors

Mark Vayngrib
Ellen Katsnelson
Tradle, Inc.

Andy Prock

PR's welcome!

About

node's dgram for react-native

Topics

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages