瑞星 发表于 2024-8-10 17:30:57

Thrift架构 本地域的C2S解决方案

Ti-Thrift



[*]基于thrift实现前端htmlJs与后端nodeJs之间的兼容本地域解决方案
[*]Example of a compatible local domain solution between frontend htmlJs and backend nodeJs based on Thrift
Thrift

你可以使用thrift库来实现在前端使用Thrift协议与后端的Node.js进行通讯的解决方案。
Thrift是一种跨语言的服务界说和通讯协议,它答应你界说数据类型和服务接口,并天生相应语言的代码。在你的情况下,你可以使用Thrift来界说前后端之间的数据类型和接口,并天生对应的JavaScript代码。
在前端,你可以使用ti-thrift库来处理Thrift协议的通讯。它提供了一些工具和函数,可以资助你在前端使用Thrift协议与后端进行通讯。
在后端,你可以使用Node.js的thrift库来处理Thrift协议的通讯。它提供了一些函数和类,可以资助你在Node.js中实现Thrift服务端。
通过使用ti-thrift和Node.js的thrift库,你可以实现前后端之间基于Thrift协议的通讯,并在本地域中进行数据交互。
环境



[*]install node 16.0.0
[*]npm install thrift
协议文件编译

实行包



[*]download thrift http://www.apache.org/dyn/closer.cgi?path=/thrift/0.20.0/thrift-0.20.0.exe
[*]thrift-0.20.0.exe -> thrift.exe
协议文件



[*]https://github.com/apache/thrift/blob/master/tutorial/tutorial.thrift
[*]https://github.com/apache/thrift/blob/master/tutorial/shared.thrift
Node端 编译下令



[*]npm run nodeClientThrift
JS端 编译下令



[*]nodeHtmlThrift
NODE-NODE

启动 后端服务



[*]node nodeClientServer.js
启动 前端服务



[*]node nodeClient.js
HTML-NODE

启动 后端服务



[*]node nodeHtmlServer.js
启动 前端服务



[*]node nodeHtml.js
涉及的文件



[*]json_protocol.js
[*]framed_transport.js
[*]thrift.js
Thrift JS

Version: '0.21.0'

https://github.com/apache/thrift/blob/master/lib/js/src/thrift.js
指令



[*]thrift -r --gen js:node -protocol json -transport xhr tutorial.thrift
这些参数的含义如下:



[*]-r: 表示递归处理,可以天生依靠的所有文件。
[*]--gen js:node: 指定天生的语言为 JavaScript,使用 Node.js 环境。
[*]-protocol json: 指定使用 JSON 协议进行数据传输。
[*]-transport xhr: 指定使用 XMLHttpRequest (XHR) 进行数据传输,适用于浏览器环境。
[*]因此,运行此下令将根据提供的 tutorial.thrift 文件天生适用于 Node.js 环境的 JavaScript 文件,其中包含使用 JSON 协议和 XMLHttpRequest 进行数据传输的客户端和服务器端代码。
注意

-protocol json -transport xhr 不能作为参数, 但可以在thrift主文件 文件头加上
/*
* protocol: json
* transport: xhr
*/

github.com/Timtance
gitee.com/Timtance
 
https://img-blog.csdnimg.cn/77be73a046a140a28119cfbacb89dd20.png
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Thrift架构 本地域的C2S解决方案