nativescript-socketio-ns
v0.11.1
Published
Full-featured Socket.IO client implementation for NativeScript
Downloads
5
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