node's net api in react-native
Go to file
b056904809 2017-10-28 09:15:58 -07:00
android We can no longer override createJSModules since it's been removed in RN 0.47 2017-08-16 06:43:39 -07:00
examples/rctsockets Header changes required for 0.40 on ios 2017-01-16 11:33:07 -08:00
interfaces add more flow annotations 2015-12-23 10:57:51 -08:00
ios Set callback after write can cause callback being skipped 2017-08-16 06:44:27 -07:00
.eslintignore add more flow annotations 2015-12-23 10:57:51 -08:00
.eslintrc start integrating static analysis 2015-12-16 15:05:08 -08:00
.flowconfig fix oustanding issues 2016-06-17 13:55:05 -07:00
.gitignore add android support 2015-12-29 16:00:18 -08:00
.npmignore add examples to npmignore 2016-12-15 13:52:48 -08:00
LICENSE prepare for public release 2016-01-02 11:03:35 -08:00
README.md 2017-10-28 09:15:58 -07:00
TcpServer.js ensure server close events are being sent 2016-11-09 10:47:03 -08:00
TcpSocket.js Replace `this` by `self` in a scoped reference 2017-06-05 15:15:37 +02:00
TcpSockets.js push socket creation into connect and listen methods 2015-12-28 11:12:21 -08:00
base64-str.js add more flow annotations 2015-12-23 10:57:51 -08:00
package.json 3.3.0 2017-08-23 18:06:09 -07:00

README.md

TCP in React Native

node's net API in React Native

This module is used by Peel

Install

npm install react-native-tcp --save

Note for iOS: If your react-native version < 0.40 install with this tag instead:

npm install react-native-tcp@3.1.0 --save
react-native link react-native-tcp

Additional dependencies

Due to limitations in the react-native packager, streams need to be hacked in with rn-nodeify

  1. install rn-nodeify as a dev-dependency npm install --save-dev rn-nodeify
  2. run rn-nodeify manually rn-nodeify --install stream,process,util --hack
  3. 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": "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