node's net API for react-native

Usage no npm install needed!

<script type="module">
  import secullumReactNativeTcp from 'https://cdn.skypack.dev/@secullum/react-native-tcp';


TCP in React Native

node's net API in React Native

This module is used by Peel


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"



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

  "browser": {
    "net": "react-native-tcp"


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) {

var client = net.createConnection(12345);

client.on('error', function(error) {

client.on('data', function(data) {
  console.log('message was received', data)


add select tests from node's tests for net

PR's welcome!

originally forked from react-native-udp