Flash客户端通过全双工连接(聊天或游戏)与Java服务器对话的最佳方式
我的客户端在Flash/Flex(聊天游戏)中,它将与Java服务器进行对话。Flash客户端与服务器对话的最佳方式(协议/接口)是什么?我听说了,但这是一种请求/响应机制。我总是可以请求一些东西,然后等待来自服务器的异步通知。然后再次请求,实现类似服务器的东西 无论如何,这种通信的行业标准是什么:Flash客户端与Java服务器通信,支持来自服务器的异步“推送”通知Flash客户端通过全双工连接(聊天或游戏)与Java服务器对话的最佳方式,java,apache-flex,flash,asynchronous,Java,Apache Flex,Flash,Asynchronous,我的客户端在Flash/Flex(聊天游戏)中,它将与Java服务器进行对话。Flash客户端与服务器对话的最佳方式(协议/接口)是什么?我听说了,但这是一种请求/响应机制。我总是可以请求一些东西,然后等待来自服务器的异步通知。然后再次请求,实现类似服务器的东西 无论如何,这种通信的行业标准是什么:Flash客户端与Java服务器通信,支持来自服务器的异步“推送”通知 谢谢 考虑使用基于RTMP的解决方案(Flash中的NetConnection)。远程共享对象或直接流发布可以执行您想要的操作
谢谢 考虑使用基于RTMP的解决方案(Flash中的NetConnection)。远程共享对象或直接流发布可以执行您想要的操作
任何类似的操作都需要Flash媒体服务器实现,可以是Red5、Adobe、Wowza,也可以是其他的。考虑使用基于RTMP的解决方案(Flash中的NetConnection)。远程共享对象或直接流发布可以执行您想要的操作
任何类似的操作都需要一个Flash media server实现,可以是Red5、Adobe、Wowza或其他的。看看例子。看看例子。你可以使用流式AMF连接来获得实时、双向、异步推送。如果您想要免费的东西,BlazeDS可以为您做这件事(它使用Comet实现)。我在这方面运气很好,将一个频道扩展到每秒几千条消息——这对于一个简单的游戏或聊天应用程序来说已经足够了 缺点是BlazeDS使用阻塞IO,因此支持的并发连接数量有限(因为每个连接都需要自己的线程)。切断取决于您正在使用的应用程序服务器,但根据我的经验,如果没有资源耗尽,您将永远无法获得超过几百个
因此,如果您只需要几百个并发用户,那么BlazeDS和StreamingAMF可能就可以了。如果你需要更多的东西,你将不得不接受Michael的建议,并为非阻塞IO支付昂贵的费用。你可以使用流式AMF连接来获得实时、双向、异步推送。如果您想要免费的东西,BlazeDS可以为您做这件事(它使用Comet实现)。我在这方面运气很好,将一个频道扩展到每秒几千条消息——这对于一个简单的游戏或聊天应用程序来说已经足够了 缺点是BlazeDS使用阻塞IO,因此支持的并发连接数量有限(因为每个连接都需要自己的线程)。切断取决于您正在使用的应用程序服务器,但根据我的经验,如果没有资源耗尽,您将永远无法获得超过几百个
因此,如果您只需要几百个并发用户,那么BlazeDS和StreamingAMF可能就可以了。如果你需要更多的东西,你必须听从Michael的建议,用非阻塞IO支付昂贵的费用。在使用BlazeDS、LCD、Granite、Red5等产品时,你有几种选择。请注意,我只知道LCD包括下面列出的所有选项a)b)c)d)(如果我错了,也许有人可以添加评论) a) 全双工套接字上的RMTP b) 流式 c) 长轮询 d) 短轮询 对于b)c)d)您可以在阻塞IO和非阻塞IO之间进行选择。a) 正在使用非阻塞IO 它们各有优缺点。例如,流式传输是通过两个连接实现的——一个永远保持打开状态,服务器将使用ti推送消息,另一个在客户端想要发送消息时打开。然而,一些代理可以决定,它将不允许开放连接超过20秒,在这种情况下,流是不可能的 更多细节可以在Damon上找到。乍一看,你可能会在这个链接上找到太多的信息,但事实并非如此。事实上,你需要读更多的文章(或书籍,比如)。这不是一个容易的主题,如果你需要构建一个专业的解决方案,你需要详细了解所有方面 还有另一种选择,使用Flash套接字构建您自己的定制协议,并回退到另一种类型的通道,但开发类型将非常重要
您也可以从我所知的专为游戏行业打造的ElectroServer或SmartFox等服务器上了解一下。在使用BlazeDS、LCD、Granite、Red5等产品时,您可以使用多个选项。请注意,我只知道LCD包含下面列出的所有选项a)b)c)d)(如果我错了,也许有人可以添加评论) a) 全双工套接字上的RMTP b) 流式 c) 长轮询 d) 短轮询 对于b)c)d)您可以在阻塞IO和非阻塞IO之间进行选择。a) 正在使用非阻塞IO 它们各有优缺点。例如,流式传输是通过两个连接实现的——一个永远保持打开状态,服务器将使用ti推送消息,另一个在客户端想要发送消息时打开。然而,一些代理可以决定,它将不允许开放连接超过20秒,在这种情况下,流是不可能的 更多细节可以在Damon上找到。乍一看,你可能会在这个链接上找到太多的信息,但事实并非如此。事实上,你需要读更多的文章(或书籍,比如)。这不是一个容易的主题,如果你需要构建一个专业的解决方案,你需要详细了解所有方面 还有另一种选择,使用Flash套接字构建您自己的定制协议,并回退到另一种类型的通道,但开发类型将非常重要 您也可以从我所知道的内容中了解一下诸如ElectroServer或SmartFox之类的服务器,它们是专门为游戏行业构建的。是NetConnection li吗