如何将数据从 asp.net 推送到 flash/silverlight 客户端?
Posted
技术标签:
【中文标题】如何将数据从 asp.net 推送到 flash/silverlight 客户端?【英文标题】:How to push data from asp.net to flash/silverlight client? 【发布时间】:2010-11-18 09:53:06 【问题描述】:我正在开发聊天应用程序。我使用 flash 作为前端和 asp.net 后端。我的问题是:我的 asp.net web 应用程序可以在浏览器中将数据发送到 flash 应用程序而不回发吗?实际上这意味着 asp.net 将数据推送到 flash 客户端。我不太了解闪光灯或silverlight,剂量闪光灯支持做到这一点?或其他方式帮助我直接从服务器连接到浏览器而不使用回发或 Jabber?请给我您的建议,非常感谢!
【问题讨论】:
【参考方案1】:这是 100% 的解决方案,称为 Diffusion sever: http://demo.pushtechnology.com/docs/manual/apis/flash/index.html
【讨论】:
【参考方案2】:这是 Microsoft 人员为您编写的另一种选择:
http://laharsub.codeplex.com/
我们使用它,到目前为止一切都很好。非常快。
【讨论】:
哦,太好了!我正在检查它,它会取代 IIS 吗? asp.net MVC 可以在这台服务器上托管吗?【参考方案3】:不,服务器无法在没有回发的情况下将数据推送到客户端。它是需要从服务器获取它的客户端应用程序。事实上,HTML5 中有 WebSocket API 草案允许服务器将数据推送到客户端,但它仍然对浏览器的支持有限,您需要一个能够处理此协议的服务器。
因此,目前唯一可靠的方法是让客户端轮询服务器以获取数据。
【讨论】:
自从 DucN 询问基于 Flash 的客户端以来,自 2000 年的 Flash Player 5 以来,Flash 实际上已经拥有套接字 API 10 年了。 @Lars,是的,我知道 Flash 有一个套接字 API,但他正在询问服务器向客户端推送数据的问题。【参考方案4】:Flash 支持套接字通信,可用于将数据推送到客户端而无需轮询。
你提到asp.net,我不是这方面的专家,但也许“Active Server Pages”方面不太适合套接字通信,但我很确定你可以构建服务器端聊天,通过套接字推送数据,在 .Net 中。
【讨论】:
你在说什么?这句话毫无意义:Flash has support for socket communication, that can be used to push data to the client without polling
。 Flash 是客户端 :-) 将其视为增强的 javascript。
是的,当然 Flash 是针对客户端的。我的意思是,由于 Flash 中的客户端可以通过套接字通信接收数据,因此完全可以使用 Flash 作为客户端构建聊天服务,前提是您有一个可以发送数据的服务器。
我听说 Flash 有套接字 API 来打开端口并通过该端口发送数据,但在我的情况下,服务器不是桌面应用程序,它是托管在 IIS 网络服务器中的 asp.net 网站,并且IIS 只为我的网站打开 1 个端口(默认端口为 80)。我不知道如何通过其套接字与 Flash 客户端通信。 Lars,你能为我解释更多细节吗,或者有任何关于它的教程吗?我认为 Flash 客户端中的套接字仅用于 Flash 媒体服务器或 red5,而不是 IIS,对吗?以上是关于如何将数据从 asp.net 推送到 flash/silverlight 客户端?的主要内容,如果未能解决你的问题,请参考以下文章
将消息从 SSIS (2012) 包推送到 ASP.NET Web 应用程序中的 SignalR 集线器——最好的方法是啥?