Thrift支持通过WebSockets发送数据吗?

13

我想在使用Java服务器发送数据到浏览器时,使用Thrift和WebSockets。这是否可行?


我认为jWebSocket应该很适合! - Nishant
3个回答

9

5
在Thrift中有两个重要的元素:协议和传输。协议定义了数据如何序列化到数据流中。传输定义了这些数据流如何在通信实体之间交换。
在Thrift中有JSON协议,它受JavaScript支持,但是在传输方面,我认为Thrift仅支持2种传输方式:原始TCP和HTTP。后者可用于调用HTTP服务器上的操作,并从中获取结果,但不是你需要的反过来的方式。
我猜你可能能够使用JSON协议,但你需要动手实现自己的WebSockets传输。这可能是一个相对复杂的任务。

“传输层可以使用AJAX或WebSockets”是什么意思? - Sarvnashak

1

在 Thrift 的 v.0.9.0 版本中,答案是否定的。

在客户端方面,生成的 JavaScript 使用 AJAX 进行传输,如 Thirft.js 库所示,因此如果客户端要使用 WebSocket,则需要修改 Thrift 中的传输方式。

在服务器端,Java 代码显示了一个套接字服务器,但我认为它没有 WebSocket 服务器端代码所需的握手。同样,这可能很容易地添加。您最好使用 jWebSocket 作为服务器,并使用 Thrift 创建的 Java 对象类,而不是 Thrift 版本的服务器。您可以检查 Thrift 中的代码以更好地了解它。请参见 Thrift 主干中的 /lib/java/src/org/apache/thrift/ 部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接