Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PeelTechnologies/react-native-tcp
node's net api in react-native
https://github.com/PeelTechnologies/react-native-tcp
Last synced: about 2 months ago
JSON representation
node's net api in react-native
- Host: GitHub
- URL: https://github.com/PeelTechnologies/react-native-tcp
- Owner: PeelTechnologies
- License: mit
- Created: 2015-12-04T17:42:24.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-11-05T14:56:12.000Z (about 2 years ago)
- Last Synced: 2024-04-26T04:36:44.613Z (9 months ago)
- Language: Objective-C
- Size: 313 KB
- Stars: 282
- Watchers: 19
- Forks: 211
- Open Issues: 55
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-react-native - react-native-tcp ★199 - node's net API for react-native (Components / Backend)
- awesome-react-native - react-native-tcp ★199 - node's net API for react-native (Components / Backend)
- awesome-react-native - react-native-tcp ★199 - node's net API for react-native (Components / Backend)
- awesome-react-native-ui - react-native-tcp ★58 - node's net API for react-native (Components / Backend)
- awesome-react-native - react-native-tcp ★199 - node's net API for react-native (Components / Backend)
README
# TCP in React Native
node's [net](https://nodejs.org/api/net.html) API in React Native
This module is used by [Peel](http://www.peel.com/)
## Install
* Create a new react-native project. [Check react-native getting started](http://facebook.github.io/react-native/docs/getting-started.html#content)
* In your project dir:
```
npm install react-native-tcp --save
```__Note for iOS:__ If your react-native version < 0.40 install with this tag instead:
```
npm install [email protected] --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](https://www.npmjs.com/package/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_
```json
{
"browser": {
"net": "react-native-tcp"
}
}
```### JS
_see/run [index.ios.js/index.android.js](examples/rctsockets) for a complete example, but basically it's just like net_
```js
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](https://github.com/tradle/react-native-udp)_