问题标签 [amf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5517 浏览

.net - .NET 和 AMF

如何让 ASP.NET (inc MVC) 应用程序通过 AMF 与 Flex UI 通信。我想一次推送大约 100 多条记录,而 AMF 似乎是前进的方向,但似乎没有任何明显的迹象。

0 投票
6 回答
3533 浏览

apache-flex - 嗅探 Flex 应用程序和 ColdFusion 后端之间的流量

在 Flex 应用程序和在 ColdFusion 服务器上运行的基于 ColdFusion 的后端之间嗅探/跟踪函数调用的好策略是什么?我了解他们使用 AMF 协议。

我习惯于使用Fiddler来嗅探 HTTP 客户端和服务器之间的事务,只要您使用纯文本或 XML HTTP 请求和响应(包括通过 SSL 的请求和响应),它就可以很好地工作,但它对二进制文件没有多大帮助AMF over HTTP 等协议。

就我而言,我确实可以访问客户端和服务器的源代码,但我正在寻找一种简单的方法来在任何 Flex + ColdFusion 情况下被动地嗅探流量,而无需在服务器上进行任何调整。

0 投票
2 回答
862 浏览

apache-flex - 版本控制如何与 Flex 远程对象和 AMF 一起使用?

假设我使用 [RemoteClass] 标签赋予自定义 Flex 类以序列化智能。

当我需要更改对象(添加新字段、删除字段、重命名字段等)时会发生什么?

是否有一种设计模式可以优雅地处理这个问题?

0 投票
2 回答
1304 浏览

air - 如何从 C 程序将 AIR 运行时加载为进程内共享库

我想按照 java.exe 的方式用 C 语言构建一个特殊的 AIR 启动程序。

我用进程查看器查看了运行 AIR 程序,并且能够找到正在使用的 AIR 运行时 DLL。AIR 程序与 Java 的不同之处在于,它们作为特定于平台的可执行文件安装,一旦启动,它们就会将 AIR 运行时绑定为进程内共享库(用户双击它们的图标)。

好吧,我想制作一个类似于 java.exe 的 AIR 启动器。

java.exe 作为平台操作系统进程启动,它作为进程内共享库绑定到 Java JVM 运行时 (JRE)。要执行的 java 应用程序被指定为 java.exe 的命令行参数。一旦 java.exe 运行并且 JVM 完全正常运行,指定的 java 应用程序类将由 JVM 类加载器加载以执行。然后,指定的 Java 应用程序接管,在某种意义上“劫持”了 java.exe 的进程。当然,指定的 java 应用程序会在任何进程列表中显示为托管它的 java.exe 程序。

我想让 AIR 应用程序启动像这样工作。为什么?所以我可以探索破解 AIR 的方法,也许可以克服它的许多缺陷。例如,对于初学者,我想通过一些新的 API 来扩展 AIR 运行时体验,这些 API 可用于正在运行的 AIR 应用程序。

我的首要任务是:

  • 实现与 .NET PInvoke 相当的 ActionScript3 到 C 的绑定接口
  • 添加一个用于启动进程的 API,该 API 与 Java SE 中的 API 相当(Runtime.exec、ProcessBuilder、Process)
  • 添加对 AIR 应用程序的支持,以便能够与 stdin、stdout、stderr 交互。奇怪的是,尽管 Adob​​e 在 AIR 中添加了对本地文件访问的支持,但它们却省略了与这些标准文件管道的交互(但它们可以在 AIR 支持的任何操作系统平台上找到)。
  • 通过 stdin、stdout、stderr 实现对 AMF 的支持——因此 AIR(或 Java 或任何支持 AMF 的语言)应用程序可以通过交换 AMF 对象来进行通信。这将为 AIR 添加一点微软的 PowerShell。

目前 Merapi 提供了一个带有 Java 的 AMF 桥接器,从而证明了它的功效。唉,Merapi 必须使用 localhost 端口和套接字来进行进程间通信——相对于使用 stdin/stdout/stderr 进程间管道,这是一种笨拙的方式。

0 投票
2 回答
945 浏览

.net - 如何通过一台受信任的服务器路由 AMF 请求

我们计划开发一个 Flex 应用程序,该应用程序必须进行 AMF 调用才能从安全服务器检索数据。但是,我们不允许使用 AMF 直接连接到该安全服务器。我们只能对安全服务器进行 WSDL/SOAP 或 .net 远程调用。因此,在客户端机器上运行的 flex 应用程序的所有实例都必须连接到单个受信任的服务器,然后该服务器将连接到安全服务器。

这些要求是基于公司内部的政治原因,并不灵活(不是总是这样吗?)

如果要求不清楚,这里是一个例子。当您通过银行网站访问您的支票账户时,该网站会下载一个 flex/flash 应用程序到您的网络浏览器。此应用程序向您显示您的帐户、交易、余额等。但是,您的实际支票帐户详细信息存储在银行的安全数据库服务器上,该服务器不接受来自客户的入站连接。因此,浏览器中的 flex 应用程序对银行网站进行 AMF 调用,然后转而对数据库服务器进行 WSDL/SOAP 或 .net 远程调用。它获取数据并通过 AMF 将其发送回您的浏览器。

是否有我们可以在 Web 服务器上运行的“代理”应用程序,它将接受 AMF 调用并转身对安全服务器进行 WSDL/SOAP 或 .net 远程调用?还是我们必须手写?

0 投票
3 回答
2556 浏览

php - 发送 ByteArray 到 Zend_Amf

我在将 ByteArray 发送到我的 Zend_Amf_server 时遇到问题。我从服务器收到一个 NetConnection.Bad.Call。如果我发送一个具有另一种数据类型的变量,那么 ByteArray 它工作正常。

我之前在 AMFPHP 中使用过相同的脚本,没有任何问题。但是对于这个项目,我真的需要它在 Zend_Amf 中工作。

AS3:

PHP:

0 投票
5 回答
1489 浏览

java - 哪里可以获得 Flex - Java DS (Blaze) 培训材料?

我想知道你们中是否有人知道我在哪里可以获得关于 Flex - Java 数据服务(BlazeDS 将是理想的)非常好的培训材料(视频、示例等),除了 Adob​​e 直接提供的那些。我正在考虑类似大卫塔克的博客

0 投票
1 回答
590 浏览

ruby-on-rails - 从 Flex 向 Rails 发送 AMF 对象会损坏关联模型

我们正在开发一个将 Flex 和 rails 与WebORB结合使用的项目。在我们开始将前端和后端捆绑在一起之前,一切都很好。

我们创建了一个用于与用户交互的服务,另一个用于会话。

SessionService.rb

UserService.rb

User.as

当使用 Flex 调用任何方法时,一切正常,直到调用传入的 User 对象。创建了用户并更新了会话,问题是在此之后的任何方法调用都会产生现在为零register_user的副作用,User.find(XX).roles[XX].skip_time_zone_conversion_for_attributes这会导致create_time_zone_conversion_attribute?activerecord/lib/activerecord/attribute_methods.rb尝试调用include?它时失败。

并且由于create_time_zone_conversion_attribute?在调用时method_missing调用,直接访问任何属性都会导致此错误。这不会是一个问题,除非:include => [..., :roles...]它会导致角色被序列化到AMF中,并且当它尝试序列化属性时,它会爆炸。

从我收集到的信息attribute_methods.rb来看,应该不可能skip_time_zone_conversion_for_attributes在一个实例中进行更改(Role.skip_time_zone_conversion_for_attributes = []应该是这样),但我感觉 WebORB 正在绕过这个并强行将其更改为 nil。

我们已经切换到传递非模型类,但这不是我们想要的。

是否有可能找出 WebORB 中的哪些代码正在skip_time_zone_conversion_for_attributes针对模型的所有实例进行更改,而不是针对模型类本身?

0 投票
3 回答
1264 浏览

apache-flex - Flash:带有参考表的 AMF3?

AMF3 规范定义了所谓的“参考表”的使用(参见本规范的第 2.2 节)。

我在我用 Erlang 开发的 AMF3 编码器/解码器中实现了这种行为,但是我对 Flash API 不是很有经验,我几乎找不到在将对象序列化为 AMF3 时如何轻松地强制 Flash 使用这些引用表;例如,如果我使用 ByteArray,它似乎只是重复完整的对象编码

(这显然是重复)。

但是,如果这两个字符串在一个单独的 writeObject 调用中,它似乎确实使用了引用:

Socket 的行为似乎相同。

那么,我可以在 Flash 代码中使用引用表吗?(假设我可能在 Flash 应用程序和服务器之间有一个非标准协议)

谢谢!

0 投票
2 回答
604 浏览

apache-flex - 有没有更好的方法来使用 Flex Builder 和 AMF Gateway?

我正在使用 Flex Builder 3 通过 AMF 网关连接到一堆后端代码。另一位开发人员将所有 AMF 网关代码打包到一个 war 文件中。这是我的开发过程:

  • 将最新的 AMF-gateway.war 文件部署到本地 jboss 服务器
  • 战争文件被解压到 [jboss]/server/tmp/deploy/tmp23241AMF-gateway-exp.war/
  • 运行 Flex 生成器。将应用程序项目指向 AMF Gateway tmp 文件夹的 3 个位置(Flex 服务器根文件夹、Flex 构建输出文件夹、Flex 编译器“附加参数”(指向 services-config.xml 的位置)。

这种设置意味着每当您在 Flex Builder 中启动调试会话时,它会将文件的工作版本转储到 jboss 服务器上的 AMF-gateway 文件夹(别名为 /AMF-gateway)。问题是,每次我重新启动 jboss 或部署更新的 AMF-gateway.war 文件时,它都会以新名称解压到一个新的临时文件夹中,我需要更改 Flex 项目中的所有引用。这种情况一天会发生好几次,很烦人。我可以简化此配置吗?我尝试使用该文件夹的别名——认为我可以编写更改脚本——但 Flex Builder 似乎不喜欢它。