mirror of
https://github.com/status-im/react-native-tcp.git
synced 2025-01-13 04:04:07 +00:00
2.3 KiB
2.3 KiB
TCP in React Native
node's net API in React Native
This module is used by Peel
Install
-
Create a new react-native project. Check react-native getting started
-
In your project dir:
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 activity (import, getPackages)
...
import com.peel.react.TcpSocketsModule; // <--- import //
public class MainActivity extends ReactActivity {
...
/**
* A list of packages used by the app. If the app uses additional views
* or modules besides the default ones, add more packages here.
*/
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new TcpSocketsModule() // <- add here //
);
}
}
Buckle up, Dorothy
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
PR's welcome!
originally forked from react-native-udp