11-Thrift_JavaScript的使用
Thrift_JavaScript使用
Thrift的JavaScript端一般只用来制作Client,Server需要使用Node.js等其他语言来完成。
Server端
参考上一篇的服务,着重Multiple的服务(其他的Processor比这个简单)。
要求:(否则JS无法解析)
- Json Protocol打包协议
- Http Transport通信
- 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是不是很简单?��
好啦,这一篇就到这里。