11-Thrift_JavaScript的使用

Thrift_JavaScript使用

Thrift的JavaScript端一般只用来制作Client,Server需要使用Node.js等其他语言来完成。

Server端

参考上一篇的服务,着重Multiple的服务(其他的Processor比这个简单)。

要求:(否则JS无法解析)

  1. Json Protocol打包协议
  2. Http Transport通信
  3. MultipleProtocol/Processer(非必需)

Client端

JS版也依赖Thrift的js库,下载地址:Url

1. js源代码

同其他语言,使用thrift编译工具,将xxx.thrift文件编译为xx.js文件,加上thrift.js文件,一块引入HTML文件中即可。

参考命令:thrift -o . -out ./robot --gen js Robot.thrift

2. 具体实现Demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Thrift Robot js client Test</title>
</head>
<body>
<h1>Robot接口测试~</h1>
<textarea id="id_msg">你好,我叫小薇</textarea>
<br/>
<button onclick="javascripts:btn_msg();">发送</button>

<!-- thrift自身的库 -->
<script src="thrift.js" type="text/javascript"></script>

<!-- thrift生成 -->
<script src="Robot_types.js" type="text/javascript"></script> 
<script src="Audio.js" type="text/javascript"></script>

<script>
    var mp = new Thrift.Multiplexer();
    var transport = new Thrift.Transport("http://127.0.0.1:9000/robot");
    var protocol = new Thrift.TJSONProtocol(transport);
    var client = mp.createClient('Audio', AudioClient, transport);

    var nameElement = document.getElementById("id_msg");
    console.log(client);

    function btn_msg() {
        client.TtsPlay(nameElement.value,0);
    }    
</script>
</body>
</html>

总结

只要遵循服务器协议要求,在Web端使用Thrift是不是很简单?��

好啦,这一篇就到这里。