Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine GWT&x2B;GAE-python:COMET&;RPC_Google App Engine_Gwt_Comet_Rpc - Fatal编程技术网

Google app engine GWT&x2B;GAE-python:COMET&;RPC

Google app engine GWT&x2B;GAE-python:COMET&;RPC,google-app-engine,gwt,comet,rpc,Google App Engine,Gwt,Comet,Rpc,假设我想在客户端使用googlegwt,在服务器端使用googleappenginepython。此外,我希望能够使用对服务器的RPC调用以及执行基于COMET的交换 就现有框架而言,我的选择是什么?我通过谷歌搜索“gwt python”发现了这一点:它似乎不受支持,因为AppEngine现在支持Java 通过谷歌搜索“gwt comet”:——它应该在客户端工作,使挂起连接到服务器,可以想象,这可以用Python编写 但是我必须说,如果你只是用Java编写服务器端,那么做起来会容易得多。GWT

假设我想在客户端使用googlegwt,在服务器端使用googleappenginepython。此外,我希望能够使用对服务器的RPC调用以及执行基于COMET的交换

就现有框架而言,我的选择是什么?

我通过谷歌搜索“gwt python”发现了这一点:它似乎不受支持,因为AppEngine现在支持Java

通过谷歌搜索“gwt comet”:——它应该在客户端工作,使挂起连接到服务器,可以想象,这可以用Python编写

但是我必须说,如果你只是用Java编写服务器端,那么做起来会容易得多。GWT和java是相互兼容的,它们是一起的,除非你对在爪哇写服务器有强烈的厌恶,你应该真正考虑它。 您可以一起破解一些解决方案,使GWT和Python协同工作,但它很容易在即将发布的GWT版本中崩溃,这意味着从长远来看,您需要做更多的工作


只需用Java编写服务器。

应用程序引擎目前不支持comet,因为它不支持挂起get(例如,长时间运行的请求)。如果您想使用comet,您必须使用外部服务,或者等待App Engine中的comet支持。

一年后,GAE中提供的新通道API允许这种持久连接避免在和中轮询


“Channel API在您的应用程序和Google服务器之间创建了一个持久连接,允许您的应用程序在不使用轮询的情况下实时向JavaScript客户端发送消息。这对于设计用于立即向用户更新新信息或将用户输入立即广播给其他用户的应用程序非常有用。一些示例包括协作应用程序、多人游戏和聊天室。一般来说,在无法预测或编写更新脚本的情况下,使用Channel API比轮询更好,例如在人类用户之间传递信息时,或从未系统生成的事件中传递信息时。”

您可以借助一个小小的额外服务(我免费提供一个服务):


该服务的唯一任务是为客户端应用程序提供唤醒,它使用一个长轮询的ajax请求来实现。当上传了新数据时,你的应用程序引擎应用程序通过http戳入该服务,这会导致客户端唤醒并返回到应用程序引擎应用程序以获取新数据。

我在编写c时取得了很多成功GWT中的客户端和Java中的服务器端,主要是因为它为我节省了大量的代码重复。对于我的验证量很大的应用程序,编写一次代码并获得自动客户端和服务器端验证是非常宝贵的。就我个人而言,如果使用现有的Python框架,我会选择AppEngine Python(并使用json或框架使用的任何东西)。如果从零开始一个项目,我会使用AppEngine Java并使用RPC。你能给我们提供更多关于为什么要使用服务器端Python和RPC的信息吗?我对服务器端Python感兴趣的原因是因为我发现我编写Python代码比编写Java代码更有效率。我愿意打赌,使用Pyth会提高生产率让它与GWT很好地协同工作的麻烦将给on蒙上阴影。