- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,这让我很生气。我在互联网上学习了近 8 个教程,最终我的 Red5 服务器实例开始工作。对我好!但是,当我在 Eclipse 的“控制台”窗口中从 AS3 应用程序调用 Red5 应用程序中的 Java 方法时,出现以下错误:
[ERROR] [NioProcessor-1] org.red5.server.service.ServiceInvoker - Method getTheName with parameters [] not found in org.red5.core.Application@17e5fde
这是我的 Application.java 文件。
package org.red5.core;
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.service.ServiceUtils;
/**
* Sample application that uses the client manager.
*
* @author The Red5 Project (red5@osflash.org)
*/
public class Application extends ApplicationAdapter {
/** {@inheritDoc} */
@Override
public boolean connect(IConnection conn, IScope scope, Object[] params) {
return true;
}
/** {@inheritDoc} */
@Override
public void disconnect(IConnection conn, IScope scope) {
super.disconnect(conn, scope);
}
public String getTheName() { return "MyName!"; }
}
这是我的 AS3 代码。我刚刚把它放在时间轴上。
var nc:NetConnection = new NetConnection();
nc.connect("http://localhost/Mintium/RoomHere", "SomeUsernameHere");
nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
nc.objectEncoding = ObjectEncoding.AMF0;
function onNetStatus(e:NetStatusEvent):void
{
switch (e.info.code)
{
case "NetConnection.Connect.Success" :
trace("connected");
nc.call("getTheName", new Responder(getName_result, getName_error));
break;
}
}
function getName_result(res:Object):void { append("Name : " + res.toString()); }
function getName_error(res:Object):void { append(res.toString()); }
我花了一周时间试图弄清楚这一点,我的日期是下个月。如果这个问题不解决,我的评估就会失败。请帮助我解决我的问题。非常感谢。
最佳答案
抱歉,我两个月前没有看到此内容,我本可以帮助您通过评估。尽管如此,我想我可以回答这个问题,因为我在调用 Red5 服务时遇到过类似的问题。
解决这个问题的关键在于 Red5 中使用 Spring 框架的部分。在您的项目中,应该有一个名为 red5-web.xml 的文件,该文件位于服务器项目的 WEB-INF 文件夹中。该文件包含 Red5 的 Spring 组件使用的一些 Bean 依赖项。我读过的教程甚至大多数(相当稀疏和分布式的)red5 编程文档中都没有提到这一点。
您要做的就是在该文件中为您的方法添加一个 bean 条目。在您的情况下,该条目应如下所示:
<bean id="getTheName.service" class="org.red5.core.Application" />
请注意我使用的函数名称,并附加了“.service”。我不明白为什么,但你需要附加“.service”才能让 Red5 找到你的函数。您需要为每个您想要将其功能用作服务的类添加类似的条目。
当然,我上面所说的一切都是基于您将服务放入 Application 类的事实——这是我从未做过的事情。如果您阅读 red5-web.xml 文件,您将看到该类已经有一个条目,因为它已经通过 Spring 注入(inject),作为充当处理 Web 请求的“端点”的类。我不知道使用 Application 类作为端点和服务提供者是否是一个好主意(它违反了 OOP 中的“关注点分离”,并且可能会导致 Spring 出现问题)。
我通常做的是在 org.red5.core 包(或您可能想要的任何其他包)中添加一个单独的类,用于提供所需的服务,然后将一个条目放入 red5-web.xml 中,注入(inject)类及其方法。因此,对于您的项目,假设您在 org.red5.core 包中有一个名为 NameProvider 的类:
public class NameProvider
{
public NameProvider() {}
public String getTheName() { return("MyName!"); }
}
然后将以下条目添加到您的 red5-web.xml 文件中:
<bean id="getTheName.service" class="org.red5.core.NameProvider" />
这应该会让一切正常。
我希望这对您或其他遇到此问题的人将来有所帮助。我只是希望我早点看到这个问题。
关于java - 无法从 AS3 Flash CS6 调用 red5 服务器中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15174752/
在我输入的 javascript 控制台中/(red|green)/g.exec('红绿红绿') 它返回一个包含两个结果的数组:[“红色”,“红色”] 它不应该返回一个包含 4 个结果的数组吗?如:[
所以我目前正在将一个下降大小的程序从 Rebol 3 迁移到 Red。所述程序依赖于与 C 库 (clang) 的大型绑定(bind)。我已经重写了 Red/System 中的绑定(bind)部分,并
是否可以在节点集群上水平扩展 Node-RED? 找不到任何文档。我的场景是每秒处理数百万个事件并使用 Node-RED 实时处理它们。 最佳答案 我在 Google Groups Node-RED
因此,在尝试在 Red 和 Red/System 之间来回编码值时出现了问题。我想访问传递给例程的对象的内脏。 我注意到 Red Runtime 中有一些函数可以在对象上下文中处理诸如此类、get-v
假设我正在使用 MQTT 协议(protocol)从许多设备接收信息,下图是一个设备 block 的简化版本: 因此,我们还假设所有其他设备具有完全相同的图表,除了将更改为 device2 的主题名称
想象一下我已经连接了一个流程,如下所示: 现在希望重新连接到: 看来我的选择是删除现有的电线,然后重新连接它们。我的问题是: 问题 是否可以将连线从一个节点移动到另一个节点,而不是删除和重新创建? 最
有没有办法将现有的 Node-RED 流文件 myflow.json 部署到运行 Node-RED 的远程计算机? 经过多次谷歌搜索,我偶然发现了this discussion在相关的Google群组
我想了解下例中WPF是如何将字符串值(Red)转换成对应的SolidColorBrush的? 我们如何对自定义 DependencyProperty 做同样的事情? 最佳答案 从字符串到 Brush
我想了解下例中WPF是如何将字符串值(Red)转换成对应的SolidColorBrush的? 我们如何对自定义 DependencyProperty 做同样的事情? 最佳答案 从字符串到 Brush
我想合并来自 3 个不同来源的数据(来自 HTTP msg.payload)。 但是,这些 HTTP 请求可能会被多次调用,因此可以多次接收来自同一源的数据。 [{"id":"7ed13b41.131
我需要 Accel 对象作为有效负载对象的一部分: msg.payload.Accel.x : 1 msg.payload.Accel.y : 2 msg.payload.Accel.z : 3 如何
我正在尝试在 Node-RED 中执行简单的 http get 请求。根据在线文档,我必须传递函数中的参数作为 http 请求节点的输入。我的函数如下所示; msg.url = "https://ap
我有一个简单的 php 页面,它输出一个表(已动态创建)。 页面上的文本都是红色标记的,除非你专门放置一个font color元素并强制它变成黑色。 我使用的是 FF 并安装了 Firebug,所以我
setXxx(Color.red) 和 setXxx(Color.RED) 的定义之间的真正区别是什么? 我在网上找到了以下解释。都是关于命名约定的吗? Java originally defined
我正在使用具有以下内容的 Dockerfile,我在树莓派上使用 resin.io 进行部署。 FROM nodered/node-red-docker:rpi-v8 USER root RUN su
这个问题已经有答案了: Difference between Color.red and Color.RED (3 个回答) 已关闭 9 年前。 Color.RED 之间有什么区别吗?变量和 Colo
我可能是盲人,但我找不到我在许多节点实现中看到的功能的文档,因为有: RED.nodes.createNode() RED.nodes.getNode() RED.nodes.eachNode() R
$('#toggle-linecolor').click(function () { chart.yAxis[0].update({ lineColor: li
我用了this GitHub 存储库,用于使用 Electron 创建 Node-Red 桌面应用程序。 现在我想使用 node-red-admin 向这个应用程序添加身份验证。我怎样才能做到这一点?
两种方法都有效吗?两者都一样。 border:2px solid red; 和 border:2px red solid; 最佳答案 W3.org (官方规范)说 border 简写属性的值是这样的:
我是一名优秀的程序员,十分优秀!