npm i --save nativescript-socketio
- 版本:3.3.1
- GitHub:
- NPM: https://npmjs.net.cn/package/nativescript-socketio
- 下载
- 昨日: 3
- 上周: 47
- 上月: 242
nativeScript-socketio
使用
npm install nativescript-socketio
或
tns plugin add nativescript-socketio
NativeScript 核心库
设置连接字符串和选项然后连接
var SocketIO = require('nativescript-socketio').SocketIO;
var socketIO = new SocketIO(url, opts);
或者
import { SocketIO } from 'nativescript-socketio';
var socketIO = new SocketIO(url, opts);
连接到服务器
socketIO.connect()
向服务器发送数据
socketIO.emit(event,data)
监听数据
socketIO.on(event,callback)
设置实例
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" });
}
}
运行演示
启动 socketio 服务器
cd demo/demo-server
npm install
node app
API
方法 | 默认 | 类型 | 描述 |
---|---|---|---|
constructor(url) | void |
使用 url 创建一个 SocketIO 实例 | |
constructor(url, options:{}) | void |
使用 url 和选项创建一个 SocketIO 实例 | |
constructor(null,null,nativeSocket) | void |
从本地套接字实例创建一个 SocketIO 实例 | |
connect() | void |
连接到服务器。 | |
disconnect() | void |
断开套接字连接。 | |
connected() | boolean |
检查套接字是否已连接 | |
on(event: string,(data: Object , ack? : Function)) | Function |
添加客户端事件的处理器。返回一个函数来移除处理器。 | |
once(event: string,(data: Object , ack? : Function)) | Function |
添加单次使用的客户端事件处理器。返回一个函数来移除处理器。 | |
off(event: string) | void |
根据事件名称移除处理器。 | |
emit(event: string,data: {},ack?: Function) | void |
向服务器发送事件,可选地携带数据项。 | |
joinNamespace(name: string) | SocketIO |
返回带有命名空间的 SocketIO 实例 | |
leaveNamespace() | void |
当您希望离开一个命名空间并断开此套接字连接时调用 |