naderio/nativescript-socket.io


Fully-featured Socket.IO client implementation for NativeScript

License: Unlicense

Language: TypeScript

Keywords: android, ios, mobile, nativescript, real-time, realtime, socket-io


nativescript-socket.io

Full-featured Socket.IO client implementation for NativeScript.

Status

Status npm npm dependency Status devDependency Status devDependency Status Build Status npm

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

  1. replace all instance of 192.168.1.111 with your IP address or domain.

  2. start the socket.io demo server

cd ./demo.server
npm start
  1. build and run the app
cd ./demo
tns run android

Project Statistics

Sourcerank 9
Repository Size 3.08 MB
Stars 43
Forks 13
Watchers 5
Open issues 5
Dependencies 777
Contributors 4
Tags 30
Created
Last updated
Last pushed

Top Contributors See all

Nader Toukabri agisboye Mohammad Opada Al Bosh Ludovic Fabrèges

Packages Referencing this Repo

nativescript-socket.io
Full-featured Socket.IO client implementation for NativeScript
Latest release 0.11.1 - Updated - 43 stars

Recent Tags See all

v0.11.1 September 06, 2019
v0.11.0 August 25, 2019
v0.10.1 April 14, 2019
v0.10.0 April 14, 2019
v0.9.0 October 30, 2017
v0.8.2 October 24, 2017
v0.8.2 October 24, 2017
v0.8.1 October 23, 2017
v0.8.1 October 23, 2017
v0.8.0 October 23, 2017
v0.8.0 October 23, 2017
v0.7.1 August 29, 2017
v0.7.0 August 29, 2017
0.7.0 August 07, 2017
v0.6.0 June 14, 2017

Something wrong with this page? Make a suggestion

Last synced: 2019-09-06 21:05:50 UTC

Login to resync this repository