Skip to content

pz789as/react-native-tcp

 
 

Repository files navigation

TCP in React Native

node's net API in React Native

This module is used by Peel

Install

npm install --save react-native-tcp

Link in the native dependency

rnpm link react-native-tcp

Android

  • Register and load the Native Module in your Main application (import, getPackages)
    • Note: prior to react-native 0.29.2, this should happen in your Main Activity
...

import com.peel.react.TcpSocketsModule;			// <--- import //

public class MainApplication extends Application implements ReactApplication {
	...
	@Override
	protected List<ReactPackage> getPackages() {
		return Arrays.<ReactPackage>asList(
			new MainReactPackage(),
			new TcpSocketsModule()				// <- add here //
		);
	}
}

Step 3 Profit

Usage

package.json

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

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

JS

see/run index.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)
});

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 TcpSockets to pick it up:

global.Buffer = global.Buffer || require('buffer').Buffer

TODO

add select tests from node's tests for net

Contributors

Andy Prock

PR's welcome!

originally forked from react-native-udp

About

node's net api in react-native

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 90.4%
  • JavaScript 4.7%
  • Java 4.6%
  • Ruby 0.3%