Skip to content

客户端的特殊设置

小马哥 edited this page Nov 9, 2016 · 2 revisions

Hprose 的 HTTP 客户端

setHeader 方法

client.setHeader(name, value);

这个方法专门用于设置 HTTP 的头信息。

certificate 属性

该属性用于设置 HTTPS 客户端证书。但仅支持 APICloud 客户端。

onprogress 事件

对应 XMLHttpRequest.uploadonprogress 事件。

onRequestProgress 事件

对应 XMLHttpRequest.uploadonprogress 事件。

onResponseProgress 事件

对应 XMLHttpRequestonprogress 事件。

Hprose 的 TCP 客户端

hprose for HTML5 的 TCP 客户端是基于 chrome.sockets.tcp 实现的。因此它只可以在 chrome apps 或基于 ionic/cordova 的 android、iOS 应用中使用。

在 ionic/cordova 中使用时,需要安装 cordova-plugin-chrome-apps-sockets-tcp 插件。

noDelay 属性

用于设置在 TCP 上是否禁用 Nagle 算法。默认为 true

fullDuplex 属性

用于设置是否启用全双工通讯方式。在全双工通讯方式下,客户端发出调用请求后,不需要等待返回响应结果,就可以在同一个连接上发送下一个调用请求,而且在发送请求的过程中,可以同时接收服务器端返回的响应数据。也就是说,在该模式下,客户端和服务器之间的连接的利用率将会更高。尤其是在服务器返回响应较慢,或者服务器和客户端之间有推送请求时,客户端和服务器端只需要一个连接就足够了。而在半双工通讯模式下,则需要多个连接才可以。

不过该属性默认值为 false,原因是 hprose 旧版本的 TCP 服务器仅支持半双工通讯方式。你只有确认服务器端支持全双工通讯方式的情况下,才可以开启该选项,否则,在通讯中会得到异常信息。

maxPoolSize 属性

用于设置连接池中的最大连接数。默认值为 10。当开启全双工通讯方式后,可以将该值设置为 1。

poolTimeout 属性

用于设置连接池中的连接的空闲超时时间。默认值为 30000,单位是毫秒(ms)。

当连接池中的连接超过这个时间还没有被使用的情况下,将会自动关闭。