@altabsrl/nativescript-socket.io
适用于 NativeScript 的功能齐全的 Socket.IO 客户端实现
npm i --save @altabsrl/nativescript-socket.io

nativescript-socket.io

Fork of https://github.com/naderio/nativescript-socket.io. Updated to newer gradle version. Only affect android.

适用于 NativeScript 的功能齐全的 Socket.IO 客户端实现。

状态

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

该库已准备就绪用于生产。Android 和 iOS 实现稳定且同步。

请参阅发行版和变更日志以及路线图获取更多信息。

依赖项

Android:Socket.IO-client Java v1.*

iOS:Socket.IO-Client-Swift v12.*

安装

tns plugin add @altabsrl/nativescript-socket.io

使用方法

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);
})

使用 TypeScript 的使用方法

使用以下任意一种方式导入

import * as SocketIO from "nativescript-socket.io"`

// OR

const SocketIO = require("nativescript-socket.io")

示例

  1. 将所有 192.168.1.111 实例替换为您的 IP 地址或域名。

  2. 启动 socket.io 示例服务器

cd ./demo.server
npm start
  1. 构建并运行应用程序
cd ./demo
tns run android