Giter VIP home page Giter VIP logo

nativescript-socketio's Introduction

npm npm Build Status

nativescript-socketio

Note This currently does not yet support Socket:IO v3.x

Android

V3 Support

iOS

V3 Support

Usage

{N} v7+

npm install @triniwiz/nativescript-socketio

{N} v6<

npm install nativescript-socketio

NativeScript Core

Set connection string and options then connect

var SocketIO = require('nativescript-socketio').SocketIO; 
var socketIO = new SocketIO(url, opts);

Alternatively:

import { SocketIO } from 'nativescript-socketio';
var socketIO = new SocketIO(url, opts);

Connect to server

socketIO.connect()

Send data to the server

socketIO.emit(event,data)

Listen for data

socketIO.on(event,callback)

Set instance

new SocketIO(null,null,oldInstance)

Angular

// app.module.ts
import { SocketIOModule } from "nativescript-socketio/angular";

@NgModule({
  imports: [
    SocketIOModule.forRoot(server),
  ]
})
// app.component.ts
import { Component, OnInit, OnDestroy } from "@angular/core";
import { SocketIO } from "nativescript-socketio";

@Component({
  // ...
})
export class AppComponent implements OnInit, OnDestroy {
  constructor(private socketIO: SocketIO) { }

  ngOnInit() {
    this.socketIO.connect();
  }

  ngOnDestroy() {
    this.socketIO.disconnect();
  }
}
// test.component.ts
import { Component, OnInit, NgZone } from "@angular/core";
import { SocketIO } from "nativescript-socketio";

@Component({
  // ...
})
export class TestComponent implements OnInit {
  constructor(
    private socketIO: SocketIO,
    private ngZone: NgZone
  ) { }

  ngOnInit() {
    this.socketIO.on("test", data => {
      this.ngZone.run(() => {
        // Do stuff here
      });
    });
  }

  test() {
    this.socketIO.emit("test", { test: "test" });
  }
}

Running Demo

Start socketio server

cd demo/demo-server
npm install
node app

Api

Method Default Type Description
constructor(url) void Creates a SocketIO instance with a url
constructor(url, options:{}) void Creates a SocketIO instance with url and options
constructor(null,null,nativeSocket) void Creates a SocketIO instance from a native socket instance
connect() void Connect to the server.
disconnect() void Disconnects the socket.
connected() boolean Checks if the socket is connected
on(event: string,(data: Object , ack? : Function)) Function Adds a handler for a client event. Return a function to remove the handler.
once(event: string,(data: Object , ack? : Function)) Function Adds a single-use handler for a client event. Return a function to remove the handler.
off(event: string) void Removes handler(s) based on an event name.
emit(event: string,data: {},ack?: Function) void Send an event to the server, with optional data items.
joinNamespace(name: string) SocketIO Return SocketIO instance with the namespace
leaveNamespace() void Call when you wish to leave a namespace and disconnect this socket.

Example Image

socketio

nativescript-socketio's People

Contributors

cayan avatar dimitartodorov avatar donburgess avatar gogoout avatar jogboms avatar nathanwalker avatar roblav96 avatar triniwiz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.