推送客户端与连接

以下签名直接来自 PushClient.cs。除连接和状态方法外,订阅调用返回 uint 请求 ID;最终结果由回调异步确认。

获取推送客户端实例

操作名

PushClient.GetInstance. 本地客户端方法;不发送订阅命令,也不会产生请求 ID 或服务端响应信封。

请求

static PushClient GetInstance()

参数

无参数;返回进程内单例。

返回

Return: PushClient. 返回 SingletonInner.INSTANCE;重复调用返回相同引用。

示例

var result = PushClient.GetInstance();

响应类型

本地返回值,无网络响应。

配置推送客户端

操作名

PushClient.Config. 本地客户端方法;不发送订阅命令,也不会产生请求 ID 或服务端响应信封。

请求

PushClient Config(TigerConfig config)

参数

config 不能为空;该方法加载配置文件、建立认证对象、解析 socket URL,并返回同一个 PushClient。

返回

Return: PushClient. 返回 this;不连接网络。配置或 URL 解析错误可同步抛出。

示例

var result = client.Config(config);

响应类型

本地返回值,无网络响应。

设置回调接口

操作名

PushClient.ApiComposeCallback. 本地客户端方法;不发送订阅命令,也不会产生请求 ID 或服务端响应信封。

请求

PushClient ApiComposeCallback(in IApiComposeCallback apiComposeCallback)

参数

callback 必须在连接前设置;保存引用并返回同一个 PushClient。

返回

Return: PushClient. 返回 this;不触发回调。缺少回调会在 Connect 参数检查时失败。

示例

var result = client.ApiComposeCallback(callback);

响应类型

本地返回值,无网络响应。

心跳数据

操作名

PushClient.HeartBeatData. 本地客户端方法;不发送订阅命令,也不会产生请求 ID 或服务端响应信封。

请求

PushClient HeartBeatData(in HeartBeatData heartBeatData)

参数

非 null 时替换心跳配置;发送和接收间隔最小均为 10000 ms;返回同一个 PushClient。

返回

Return: PushClient. 返回 this;null 输入保持原配置。

示例

var result = client.HeartBeatData(new HeartBeatData());

响应类型

本地返回值,无网络响应。

连接

操作名

PushClient.Connect. 套接字生命周期方法;不返回订阅请求 ID。连接前必须设置配置和回调。

请求

bool Connect()

参数

无订阅主题参数。ConnectAsync 返回异步布尔结果;Disconnect 无返回值。

返回

Return: bool. Connect/ConnectAsync 返回最终 IsConnected 状态;Disconnect 发断开命令并释放通道/事件循环,不生成 JSON 响应。

示例

var result = client.Connect();

响应类型

本地连接状态/资源释放结果;连接事件通过回调通知,无订阅响应 JSON。

连接 Async

操作名

PushClient.ConnectAsync. 套接字生命周期方法;不返回订阅请求 ID。连接前必须设置配置和回调。

请求

Task<bool> ConnectAsync()

参数

无订阅主题参数。ConnectAsync 返回异步布尔结果;Disconnect 无返回值。

返回

Return: async task returning bool. Connect/ConnectAsync 返回最终 IsConnected 状态;Disconnect 发断开命令并释放通道/事件循环,不生成 JSON 响应。

示例

var result = await client.ConnectAsync();

响应类型

本地连接状态/资源释放结果;连接事件通过回调通知,无订阅响应 JSON。

断开连接

操作名

PushClient.Disconnect. 套接字生命周期方法;不返回订阅请求 ID。连接前必须设置配置和回调。

请求

void Disconnect()

参数

无订阅主题参数。ConnectAsync 返回异步布尔结果;Disconnect 无返回值。

返回

Return: void. Connect/ConnectAsync 返回最终 IsConnected 状态;Disconnect 发断开命令并释放通道/事件循环,不生成 JSON 响应。

示例

client.Disconnect();

响应类型

本地连接状态/资源释放结果;连接事件通过回调通知,无订阅响应 JSON。

判断连接状态

操作名

PushClient.IsConnected. 本地客户端方法;不发送订阅命令,也不会产生请求 ID 或服务端响应信封。

请求

bool IsConnected()

参数

无参数;只读取本地 channel、鉴权倒计时和 Active 状态。

返回

Return: bool. 返回 bool;不会发送网络请求。

示例

var result = client.IsConnected();

响应类型

本地返回值,无网络响应。

获取推送地址

操作名

PushClient.GetUrl. 本地客户端方法;不发送订阅命令,也不会产生请求 ID 或服务端响应信封。

请求

string GetUrl()

参数

无参数;读取 Config 解析并保存在客户端中的 URL。

返回

Return: string. 返回 string;Config 之前 URL 可能尚未初始化。

示例

var result = client.GetUrl();

响应类型

本地返回值,无网络响应。


Did this page help you?