TCP in React Native
node's net API in React Native
This module is used by Peel
Install
-
Create a new react-native project. Check react-native getting started
-
In your project dir:
npm install @axiacoinorg/axia-react-native-tcp --save
Note for iOS: If your react-native version < 0.40 install with this tag instead:
npm install @axiacoinorg/axia-react-native-tcp@3.1.0 --save
if using Cocoapods
Update the following line with your path to node_modules/
and add it to your
podfile:
pod 'TcpSockets', :path => '../node_modules/axia-react-native-tcp'
Link in the native dependency
react-native link react-native-tcp
Additional dependencies
rn-nodeify
Due to limitations in the react-native packager, streams need to be hacked in with- install rn-nodeify as a dev-dependency
npm install --save-dev rn-nodeify
- run rn-nodeify manually
rn-nodeify --install stream,process,util --hack
- optionally you can add this as a postinstall script
"postinstall": "rn-nodeify --install stream,process,util --hack"
Usage
package.json
only if you want to write require('net') in your javascript
{
"browser": {
"net": "@axiacoinorg/axia-react-native-tcp"
}
}
JS
see/run index.ios.js/index.android.js for a complete example, but basically it's just like net
var net = require("net");
// OR, if not shimming via package.json "browser" field:
// var net = require('react-native-tcp')
var server = net
.createServer(function (socket) {
socket.write("excellent!");
})
.listen(12345);
var client = net.createConnection(12345);
client.on("error", function (error) {
console.log(error);
});
client.on("data", function (data) {
console.log("message was received", data);
});
TODO
add select tests from node's tests for net
PR's welcome!
originally forked from react-native-udp