我想将 GAE Channel API (Python 2.7) 与我的 GWT 应用程序(使用GWT-GAE-Channel)一起使用,但我无法弄清楚如何将在服务器端 Python 上创建的令牌放入我的 GWT 应用程序(“ index.html”在这个例子中),以便客户端 GWT 可以打开通道。我的服务器端代码目前如下所示:
import webapp2
import jinja2
import os
import uuid
from google.appengine.ext import db
from google.appengine.api import users
from google.appengine.api import channel
jinja_environment = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)))
class MainPage(webapp2.RequestHandler):
#The main page returns the GWT application
def get(self):
#Create a token when the GWT app is loaded to create a channel to return data
client_id = uuid.uuid4().hex
token = channel.create_channel(client_id, duration_minutes=None)
context = {} #There are currently no template variables in the GWT app
template = jinja_environment.get_template('index.html')
self.response.out.write(template.render(**context))
class A_handler(webapp2.RequestHandler):
def post(self):
client_id = self.request.get('id')
channel.send_message(client_id, message)
app = webapp2.WSGIApplication([('/', MainPage),
('/A', A_handler)],
debug=True)
我有与此问题相同的示例 GWT-GAE-Channel 客户端代码;但是,GWT ChannelFactory.createChannel 函数从服务器接收“令牌”的 GWT 代码是什么?python服务器可以将此令牌作为模板变量在GET请求中发送到GWT html,还是需要通过RPC或其他方法发送?