nativescript-socketio-ns
v0.11.1
Published
Full-featured Socket.IO client implementation for NativeScript
Downloads
10
Maintainers
Readme
NOTE
This fork allow using this library with newer gradle versions, so it affects only the Android part. see the original issue for information
nativescript-socket.io
Full-featured Socket.IO client implementation for NativeScript.
Status
This library is production-ready. Both Android and iOS implementations are stable and in sync.
Please check releases and changelog and roadmap for more information.
Dependencies
Android: Socket.IO-client Java v1.*
iOS: Socket.IO-Client-Swift v12.*
Install
tns plugin add nativescript-socket.io
Usage
const SocketIO = require('nativescript-socket.io');
SocketIO.enableDebug(); // optionnal
// or use your own debug function
// SocketIO.enableDebug(myCustomDebugFunction);
const options = {
query: {
token: 'SOME_TOKEN_HERE',
},
android: {
// http://socketio.github.io/socket.io-client-java/apidocs/io/socket/client/IO.Options.html
}
ios: {
// https://nuclearace.github.io/Socket.IO-Client-Swift/Enums/SocketIOClientOption.html
}
};
const socketio = SocketIO.connect('http://somewhere/namespace', options);
socketio.on('connect', function(){
console.log('connect');
});
socketio.on('hello', function(){
console.log('hello', arguments);
});
socketio.on('request', function(info, ack){
console.log('request', info);
if (info === 'datetime') {
ack(new Date());
} elseif (info === 'random') {
ack(Math.random());
} else {
ack(null);
}
});
socketio.emit('hello', {
username: 'someone',
});
socketio.emit('hello-ack', {
username: 'someone',
}, function ack(){
console.log('hello-ack', arguments);
})
Usage with TypeScript
import using either of the following:
import * as SocketIO from "nativescript-socket.io"`
// OR
const SocketIO = require("nativescript-socket.io")
Demo
replace all instance of
192.168.1.111
with your IP address or domain.start the socket.io demo server
cd ./demo.server
npm start
- build and run the app
cd ./demo
tns run android