Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何从Red5向Flash AS3应用程序发送消息?_Java_Actionscript 3_Red5 - Fatal编程技术网

Java 我如何从Red5向Flash AS3应用程序发送消息?

Java 我如何从Red5向Flash AS3应用程序发送消息?,java,actionscript-3,red5,Java,Actionscript 3,Red5,我有点困惑。我想从我的Red5服务器向我的Flash应用程序发送消息。。。但我找不到任何信息如何做到这一点 有人能帮我吗?这看起来是个好的开始: 请参见底部附近的简单flash客户端 编辑:现在可以清楚地看到,我们将从服务器客户端开始,提供更多选项: 看起来您需要执行以下操作: 及 这意味着使用“NetStream.play()”让服务器将数据流传输到客户端 或者,您可能希望查看套接字类并手动创建客户端和服务器之间的直接套接字连接 记住,我从来没有用过Red5。只是想帮忙:)嗯,根据定义

我有点困惑。我想从我的Red5服务器向我的Flash应用程序发送消息。。。但我找不到任何信息如何做到这一点


有人能帮我吗?

这看起来是个好的开始:

请参见底部附近的简单flash客户端


编辑:现在可以清楚地看到,我们将从服务器客户端开始,提供更多选项:

看起来您需要执行以下操作:

这意味着使用“NetStream.play()”让服务器将数据流传输到客户端

或者,您可能希望查看套接字类并手动创建客户端和服务器之间的直接套接字连接


记住,我从来没有用过Red5。只是想帮忙:)

嗯,根据定义,服务器提供服务,客户端请求。因此,要创建推送场景,您仍然必须首先初始化从客户端到服务器的连接。然后,您可以让连接保持空闲状态,直到需要向客户端发送某些内容为止。轮询是另一种方法,在这种方法中,服务器保留消息,客户机经常检查是否有新消息可用。服务器无法启动与客户端的连接。这将使客户机成为服务器。换句话说,您可以让flash客户端向服务器注册它的当前IP,并自己打开一个端口,将自己建立为服务器。然后,Red5服务器成为客户机,可以连接到flash客户机内部的服务器。但是我想很多安全限制会阻止你的flash程序在现实世界中充当服务器。

对于今天还没有找到答案的人来说:我在red5中工作,你可以通过AS3中的RemoteSharedObject连接到red5中的sharedobject,从red5向flash发送消息

服务器代码:

    ISharedObject so = getSharedObject(scope, "chat");
    so.setAttribute("message","Welcome");
客户端代码:

        so = SharedObject.getRemote("chat", connection.uri, false);
    so.connect(connection);
    so.addEventListener(SyncEvent.SYNC, syncChatHandler);

    private function syncChatHandler(event:SyncEvent):void { 
    Alert.show(so.data.message,"Information");
    }

此代码将显示与消息“欢迎”连接的用户的警报。从这里阅读大量文档并发挥想象力。

:/这是从Flash到Red5的方法。。。我需要另一种方式;)Red5->Flash,也不是方法返回值的方式..hmm我只是想通知客户一些工作已经完成。。。但是我不能用同样的方法返回一些“是的,太棒了,我做到了”,所以我需要稍后通知客户…听起来你想要轮询。根据这些任务所需的时间,您可以让您的客户机每隔一秒/分钟/小时/天与服务器进行一次检查,以查看任务是否已完成。或者您可以保持从服务器到客户机的连接,客户机只需等待服务器的响应代码,但需要超时,以防万一。