Skip to content

PeelTechnologies/react-native-tcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

and
Oct 28, 2017
b056904 · Oct 28, 2017
Aug 16, 2017
Jan 16, 2017
Dec 23, 2015
Aug 16, 2017
Dec 23, 2015
Dec 16, 2015
Jun 17, 2016
Dec 30, 2015
Dec 15, 2016
Jan 2, 2016
No commit message
Oct 28, 2017
Nov 9, 2016
Jun 5, 2017
Dec 28, 2015
Dec 23, 2015
Aug 24, 2017

Repository files navigation

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

Link in the native dependency

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