我想在使用Java服务器发送数据到浏览器时,使用Thrift和WebSockets。这是否可行?
根据此问题:https://issues.apache.org/jira/browse/THRIFT-2355,Thrift在0.9.2版本的javascript编译器中增加了对Web Sockets的支持。
在 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/ 部分。