node's dgram for react-native
Go to file
Mark Vayngrib 12bf05bf96 rm devDeps for now, may need them later for tests 2015-05-10 11:00:30 -04:00
CocoaAsyncSocket refactor into lib 2015-05-10 10:26:29 -04:00
UdpSockets.xcodeproj xcode pain 2015-05-10 10:43:07 -04:00
LICENSE return lost readme, license 2015-05-10 10:50:44 -04:00
README.md edit README 2015-05-10 10:58:41 -04:00
UdpSocket.ios.js declare _state, _address, _port 2015-05-10 10:49:21 -04:00
UdpSocketClient.h refactor into lib 2015-05-10 10:26:29 -04:00
UdpSocketClient.m refactor into lib 2015-05-10 10:26:29 -04:00
UdpSockets.android.js refactor into lib 2015-05-10 10:26:29 -04:00
UdpSockets.h refactor into lib 2015-05-10 10:26:29 -04:00
UdpSockets.ios.js refactor into lib 2015-05-10 10:26:29 -04:00
UdpSockets.m refactor into lib 2015-05-10 10:26:29 -04:00
index.ios.js fix example 2015-05-10 10:59:44 -04:00
package.json rm devDeps for now, may need them later for tests 2015-05-10 11:00:30 -04:00

README.md

UDP in React Native

node's dgram API in React Native

This module is used by Tradle

Install

npm install --save react-native-udp
  • Drag RCTUDP.xcodeproj from node_modules/react-native-udp into your XCode project. Click on the project in XCode, go to Build Phases, then Link Binary With Libraries and add libReactUDP.a

Buckle up, Dorothy

Usage

package.json

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

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

JS

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

var dgram = require('dgram')
// OR, if not shimming via package.json "browser" field:
// var dgram = require('UdpSockets') 
var socket = dgram.createSocket('udp4')
socket.bind(12345)
socket.once('listening', function() {
  var buf = toByteArray('excellent!')
  socket.send(buf, 0, buf.length, remotePort, remoteHost, function(err) {
    if (err) throw err
    
    console.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 RCTUDP to pick it up:

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

TODO

add select tests from node's tests for dgram

Contributors

Tradle, Inc.

PR's welcome!