react-native-sockets
Java Socket Native Plugin for React Native for Android
This is a basic implementation of Java sockets on Android allowing running a native socket server and client.
Requires RN 0.47 or higher
Features
- No limit to length of messages sent between client and server
- Client can auto-reconnect on server loss
Setup
Step 1 - NPM Install
npm install --save react-native-sockets
Step 2 - Update Gradle Settings
// file: android/settings.gradle... include ':react-native-sockets'project(':react-native-sockets').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sockets/android')
Step 3 - Update app Gradle Build
// file: android/app/build.gradle... dependencies { ... compile project(':react-native-sockets')}
Step 4 - MainApplication.java
... ... @Override protected List<ReactPackage> { return Arrays.<ReactPackage>
Using The Plugin
Server
;...
Create a socket server
let port = 8080; Sockets;
Emit message to client
Sockets;
Close server
Sockets;
Event listeners
; //on started DeviceEventEmitter; //on error DeviceEventEmitter; //on client connected DeviceEventEmitter; //on new message DeviceEventEmitter; //on server closed DeviceEventEmitter; //on client disconnected DeviceEventEmitter;
Client
;...
Connect to a socket server
config= address: "192.168.1.1" //ip address of server port: 8080 //port of socket server timeout: 5000 // OPTIONAL (default 60000ms): timeout for response reconnect:true //OPTIONAL (default false): auto-reconnect on lost server reconnectDelay:500 //OPTIONAL (default 500ms): how often to try to auto-reconnect maxReconnectAttempts:10 //OPTIONAL (default infinity): how many time to attemp to auto-reconnect Sockets;
Send message to server
Sockets;
Disconnect client
Sockets;
Event listeners
; //on connected DeviceEventEmitter; //on timeout DeviceEventEmitter; //on error DeviceEventEmitter; //on new message DeviceEventEmitter; //on client closed DeviceEventEmitter;
Misc Functions
;...
Get device IP address
Returns an array of ip address for the device.
Sockets
Check server is available
Checks if a socket server is available for connection on the network
ipAddress="192.168.1.1"; port=8080; timeout=1000; //milliseconds Sockets
Running the example
An example app is located in the example folder. Just download and run npm install and run it on an android device.