我想使用节俭与Java服务器发送数据到浏览器使用websockets。这可能吗?
根据这个问题:https://issues.apache.org/jira/browse/THRIFT-2355 Thrift在0.9.2版本的javascript编译器中获得了对web sockets的支持。
在节俭中有两件重要的事情:协议和传输。协议定义了数据如何序列化到数据流中。传输定义了这些数据流如何在通信实体之间交换。
有json协议在thrift是由javascript支持的,但就传输而言,我认为thrift只支持2传输原始tcp,和http。稍后可用于调用HTTP服务器上的操作,并从中获取结果,但不能在需要时使用其他方式。
我猜你可能能够使用json协议,但你需要卷起袖子,实现自己的websockets传输。
从v0.9.0版本开始,答案是否定的。
在客户端,生成的javascript使用AJAX进行传输,如Thirft.js库所示,因此如果客户端要使用WebSocket,则需要修改Thrift中的传输。
在服务器端,Java代码显示了一个套接字服务器,但我认为它没有WebSocket服务器端代码所需的握手功能。再一次,他可能很容易加入。对于您来说,使用jWebSocket作为服务器和由thrift创建的Java对象类比使用thrift版本的服务器更有意义。您可以在Thrift中检查代码以更好地了解它。参见/lib/java/src/org/apache/thrift/部分的trunk in Thrift