实验目的:
测试pyamf,实现GAE,Flex通信。
实验器材:
pyamf,FLEX3,Python25,IE,GAE SDK
实验准备:
用http://pyamf.org/wiki/GoogleAppEngine教程完成的Flex,GAE代码一份。
见下:
python部分
main.py
# -*- coding:utf-8 -*-
import wsgiref.handlers
import sys
from google.appengine.ext import webapp
from pyamf.remoting.gateway.google import WebAppGateway
class MainPage(webapp.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, webapp World!')
def echo(data):
return ['0','1','2哈哈的的的','哦']#为了测试需要。
services = {
'myservice.echo': echo,
}
def main():
application_paths = [('/', WebAppGateway(services)), ('/helloworld', MainPage)]
application = webapp.WSGIApplication(application_paths, debug=True)
wsgiref.handlers.CGIHandler().run(application)
flex部分
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();">
<mx:Script>
<![CDATA[
import flash.net.*;
import mx.controls.Alert;
public function init():void{
var netConnection:NetConnection = new NetConnection();
netConnection.connect("http://localhost:8080/");
var responder:Responder = new Responder(onComplete, onFail);
netConnection.call("myservice.echo", responder, "Flash talked to PyAMF. They both say hello.");
}
function onComplete(results):void {
//var my:String = String("我就是中文");
trace(results);
Alert.show(results);
/*for each(var thisResult in results){
trace(thisResult.toString());
}*/
}
function onFail(results):void {
for each (var thisResult in results){
trace( thisResult);
}
}
]]>
</mx:Script>
</mx:Application>
实验步骤:
1.打开CMD,用dev_appserver开启GAE服务器
2.在Flex中运行debug命令
实验问题:
修改main.py中echo的返回值后,第一次运行flex不能收到回复,而以后再运行debug就可以收到。
问题初步分析:
开始使用trace,怀疑是trace的问题,后来发现不是。查看服务器记录,发现并没有访问记录,故推断flex没有给GAE发送请求。问题应该在Flex端。但是,具体问题任在调查中。
实验小结:
1.EditPlus害死人啊,默认是ANSI编码格式,让我传中文郁闷了很久。
2.有没有人能告诉我,GAE要传送一个有层次的数据结构用什么啊?XML?有编码器吗?
分享到:
相关推荐
GAE是Google提供的一个云计算平台,允许开发者在Google的基础设施上部署和运行Web应用,提供了包括计算、存储、数据库等在内的多种服务。 首先,Google App Engine(GAE)是Google推出的一个PaaS(Platform as a ...
GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则
用户可以下载这个压缩包,然后根据项目文档进行安装和运行,以复现GAE在图数据上的实验。 图自编码器在多个领域有广泛的应用,如社交网络分析、化学分子结构学习、推荐系统等。在社交网络中,GAE可以帮助理解用户...
对于初学者或者不熟悉GAE配置的开发者来说,这是一个非常方便的起点,可以快速进入开发阶段,无需了解和处理GAE的环境设置、依赖管理和网络配置等复杂问题。 根据压缩包子文件的文件名称列表 "gae",我们可以推测这...
pass之GAE入门教程, 学习GAE
Spring是一个广泛使用的开源Java框架,提供了依赖注入、面向切面编程和MVC(模型-视图-控制器)等功能,而GAE是Google提供的一个平台即服务(PaaS)解决方案,它允许开发者在Google的基础设施上部署和运行Web应用。...
VGAE是在GAE基础上引入了变分推断的概念,用于处理图的生成问题。在VGAE中,通过引入潜在变量来对图的生成过程建模,进而学习到更具有解释性的节点嵌入。 **三、PyTorch实现** 在PyTorch框架下实现GAE,首先需要...
- **集成性**:与GAE环境高度集成,易于使用GAE提供的各种服务。 - **灵活性**:支持多种Web开发模式,如MVC等。 #### 三、`webapp`框架核心组件 **1. RequestHandler 类** `RequestHandler` 是`webapp`框架中最...
通过分析和学习这些源码,你可以更深入地理解如何将Flex与GAE整合,以及如何解决实际开发中遇到的问题。 总的来说,将Flex应用于GAE上,可以利用GAE的弹性扩展和低成本优势,同时提供Flex的优秀用户体验。这个过程...
GAE提供了日志查看器和性能监控工具,帮助开发者诊断问题。 8. **持续集成/持续部署(CI/CD)**:为了提高效率和保证质量,可以设置CI/CD流程,如使用Jenkins或GitHub Actions,使得每次代码提交都会自动触发测试和...
标题“GAE read rss send to 腾讯微博”指的是一个使用Google App Engine(GAE)平台开发的应用程序,该程序的功能是从RSS源读取数据并将其发布到腾讯微博。RSS(Really Simple Syndication)是一种内容聚合格式,常...
日志服务则帮助开发者追踪应用程序的行为和诊断问题。 10. **弹性扩展**:GAE会根据应用的负载自动调整实例数量,以应对流量的波动。理解如何配置自动缩放策略对于优化成本和性能至关重要。 11. **持续集成/持续...
《GAE编程指南》是一种云计算服务,跟其他的同类产品不同,它提供了一种简单的应用程序构建模型,通过这种模型,你可以轻松地构建出能够容纳数百万用户的应用程序。《GAE编程指南》是介绍使用这个强大平台的专家级...
用户可以通过部署在GAE上的gtap服务,以自己的应用身份调用Twitter API,获取推文、发布推文、管理用户账户等操作。 标签中的“GAE”代表Google App Engine,它是这个项目运行的基础平台;“twitter”表明了gtap与...
云计算下的PaaS中的GAE和SAE平台
《GAE编程指南》是一种云计算服务,跟其他的同类产品不同,它提供了一种简单的应用程序构建模型,通过这种模型,你可以轻松地构建出能够容纳数百万用户的应用程序。《GAE编程指南》是介绍使用这个强大平台的专家级...
本篇文章将详细解析如何解决GAE上的中文乱码问题。 首先,我们要理解乱码问题产生的原因。乱码通常与字符编码有关,Java应用默认使用UTF-8编码,但有时服务器或客户端的配置不一致,或者在读写文件或网络传输过程中...