Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/naderio/nativescript-socket.io
Fully-featured Socket.IO client implementation for NativeScript
https://github.com/naderio/nativescript-socket.io
android ios mobile nativescript real-time realtime socket-io
Last synced: 4 months ago
JSON representation
Fully-featured Socket.IO client implementation for NativeScript
- Host: GitHub
- URL: https://github.com/naderio/nativescript-socket.io
- Owner: naderio
- License: unlicense
- Archived: true
- Created: 2016-01-21T12:19:51.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-03-02T03:46:12.000Z (almost 3 years ago)
- Last Synced: 2024-09-24T23:33:24.441Z (4 months ago)
- Topics: android, ios, mobile, nativescript, real-time, realtime, socket-io
- Language: TypeScript
- Homepage:
- Size: 3.49 MB
- Stars: 48
- Watchers: 5
- Forks: 21
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
nativescript-socket.io
======================Full-featured Socket.IO client implementation for NativeScript.
# Status
![Status](https://img.shields.io/badge/status-production--ready-green.svg)
[![npm](https://img.shields.io/npm/l/nativescript-socket.io.svg?maxAge=1000)](https://github.com/naderio/nativescript-socket.io/blob/master/LICENSE.md)
[![npm](https://img.shields.io/npm/v/nativescript-socket.io.svg?maxAge=1000)](https://www.npmjs.com/package/nativescript-socket.io)
[![dependency Status](https://img.shields.io/david/naderio/nativescript-socket.io.svg?maxAge=1000)](https://david-dm.org/naderio/nativescript-socket.io)
[![devDependency Status](https://img.shields.io/david/dev/naderio/nativescript-socket.io.svg?maxAge=1000)](https://david-dm.org/naderio/nativescript-socket.io)
[![devDependency Status](https://img.shields.io/david/peer/naderio/nativescript-socket.io.svg?maxAge=1000)](https://david-dm.org/naderio/nativescript-socket.io)
[![Build Status](https://travis-ci.org/naderio/nativescript-socket.io.svg?branch=master)](https://travis-ci.org/naderio/nativescript-socket.io)
[![npm](https://img.shields.io/npm/dt/nativescript-socket.io.svg?maxAge=1000)](https://www.npmjs.com/package/nativescript-socket.io)This library is production-ready. Both Android and iOS implementations are stable and in sync.
Please check [releases and changelog](https://github.com/naderio/nativescript-socket.io/releases) and [roadmap](https://github.com/naderio/nativescript-socket.io/issues/3) for more information.
# Dependencies
Android: [Socket.IO-client Java](https://github.com/socketio/socket.io-client-java) v1.*
iOS: [Socket.IO-Client-Swift](https://github.com/socketio/socket.io-client-swift) v12.*
# Install
```sh
tns plugin add nativescript-socket.io
```# Usage
```javascript
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:
```typescript
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
```sh
cd ./demo.server
npm start
```3. build and run the app
```sh
cd ./demo
tns run android
```