在谷歌.appengine.api.background_线程在开发服务器上工作
我不知道这是否是一个合理的方法多人游戏
示例:
前端:
onMessage = function(msg){
console.log(msg.data)
}
channel = new goog.appengine.Channel('{{ token }}');
socket = channel.open();
socket.onmessage = onMessage;
在testbackend.py在
^{pr2}$
在主.py在import webapp2, jinja2, os, logging
from google.appengine.api import backends, urlfetch, users, channel
JINJA_ENVIRONMENT = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__)))
class IndexPage(webapp2.RequestHandler):
def get(self):
user = users.get_current_user()
if not user:
self.redirect(users.create_login_url(self.request.uri))
token = channel.create_channel(user.user_id())
template_values = {"token":token}
template = JINJA_ENVIRONMENT.get_template('templates/index.html')
self.response.write(template.render(template_values))
class TestAReq(webapp2.RequestHandler):
def post(self):
user = users.get_current_user()
url = backends.get_url("testbackend")+"/testbackend/start_thread"
result = urlfetch.fetch(url, method="POST", payload="token="+user.user_id())
self.response.write("abc")
pages = [
('/', IndexPage),
("/ajaxtest", TestAReq),
]
app = webapp2.WSGIApplication(pages, debug=True)
在应用程序yaml处理程序:handlers:
- url: /static
static_dir: static
- url: /testbackend/.*
script: testbackend.app
- url: /.*
script: main.app