在 Hprose for PHP 中已经提供了现成的 JSONRPC 的过滤器。使用它,你可以将 Hprose 服务器变身为 Hprose + JSONRPC 双料服务器。也可以将 Hprose 客户端变身为 Hprose + JSONRPC 双料客户端。

为了清楚的让大家看到通讯的实际内容,我在这里引用了前面的 。

下面我们来看运行结果:

  1. Server: {"id":1,"jsonrpc":"2.0","method":"hello","params":["JSONRPC"]}
  2. Server: {"id":1,"jsonrpc":"2.0","result":"Hello JSONRPC!"}
  3. Client: {"id":1,"jsonrpc":"2.0","result":"Hello JSONRPC!"}
  4. Server: Cs5"hello"a1{s6"Hprose"}z
  5. Server: Rs13"Hello Hprose!"z
  6. Client: Rs13"Hello Hprose!"z
  7. Hello Hprose! <nil>
  8. Server: {"id":2,"jsonrpc":"2.0","result":"Hello World!"}
  9. Client: {"id":2,"jsonrpc":"2.0","result":"Hello World!"}
  10. Hello World! <nil>

Hprose 过滤器的功能就是这么强大,而且不止于此。除了上面这些用法之外,你还可以结合 、Hprose 中间件来实现更为复杂的功能。不过这里就不再继续举例说明了。