4cb6e77504 | ||
---|---|---|
CocoaAsyncSocket | ||
UdpSockets.xcodeproj | ||
LICENSE | ||
README.md | ||
ReactUdp.podspec | ||
UdpSocket.ios.js | ||
UdpSocketClient.h | ||
UdpSocketClient.m | ||
UdpSockets.android.js | ||
UdpSockets.h | ||
UdpSockets.ios.js | ||
UdpSockets.m | ||
index.ios.js | ||
package.json |
README.md
UDP in React Native
node's dgram API in React Native
This module is used by Tradle
Install
-
Create a new react-native project. Check react-native getting started
-
In your project dir:
npm install --save react-native-udp
- Drag UdpSockets.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 libUdpSockets.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 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.
PR's welcome!