Hprose 的 HTTP 客户端

setHeader 方法

  1. client.setHeader(name, value);

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

setOption 方法

  1. client.setOption(option, value);

这个方法我们之前讲过,这里只是说一下在 HTTP 协议下都有哪些选项可以设置,在 Node.js 的 http 模块下,http.request 的第一个参数的设置跟这里的设置是一样的,但是大部分设置已经自动完成了,所以不需要去做,可以通过 setOption 方法单独设置的选项有:

  • auth
  • agent
  • keepAlive
  • keepAliveMsecs
    在 HTTPS 协议下,还可以设置以下选项:

  • pfx

  • key
  • passphrase
  • cert
  • ca
  • ciphers
  • rejectUnauthorized
  • secureProtocol
    关于以上设置的具体含义和用法,请参考 Node.js 手册的 httphttps 模块中的相关设置项。

Hprose 的 WebSocket 客户端

setOption 方法

  1. client.setOption(option, value);

在 hprose 的 WebSocket 客户端下,该方法可以设置以下选项:

  • protocol
  • agent
  • headers
  • protocolVersion
  • origin
  • pfx
  • key
  • passphrase
  • cert
  • ca
  • ciphers
  • rejectUnauthorized
    这些选项值的含义与 ws.WebSocket 模块中的选项值含义相同。

Hprose 的 Socket 客户端

noDelay 属性

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

fullDuplex 属性

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

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

maxPoolSize 属性

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

poolTimeout 属性

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

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

setOption 方法

  1. client.setOption(option, value);

该方法在 TCP 通讯中,主要用于设置 tls 的认证信息,可以设置的选项有:

  • ciphers
  • pfx
  • key
  • passphrase
  • cert
  • ca
  • rejectUnauthorized
  • NPNProtocols
  • servername
  • secureProtocol
  • session
    关于以上设置的具体含义和用法,请参考 Node.js 手册的 tls 模块的 tls.connect 方法中的相关设置项。

原文: https://github.com/hprose/hprose-nodejs/wiki/Hprose-%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%9A%84%E7%89%B9%E6%AE%8A%E8%AE%BE%E7%BD%AE