Flash WebSockets后备和Jetty 8?

时间:2011-03-20 00:55:25

标签: java flash html5 jetty websocket

我发现了这个很棒的例子:https://github.com/matzew/jetty-websocket,或Jetty中的HTML5 WebSocket echo服务器,我喜欢它的简单性。但是,我正在开发的网络应用程序需要更多的跨浏览器兼容性,所以我尝试使用:https://github.com/gimite/web-socket-js/作为Flash后备。

问题:我需要在端口843上为Flash提供一些XML文件。现在我是Flash和Jetty的新手,想知道如何实现这一目标。我以前在PHP,Python和Ruby中使用过HTML5 WebSockets,我的echo服务器在我的Mac上工作得很好,但现在我需要配置Jetty来发送文件。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

当您从Flash连接时,您需要使用XML策略文件进行响应。要做到这一点,你要么创建自己的服务器(用你想要的任何语言),它绑定在848端口上并用该xml响应,或者你可以试试这个解决方案: http://jwebsocket.org/

不确定,但我读到了某个基于jetty websockets api的地方。

希望这会对你有所帮助。

答案 1 :(得分:0)

之前我在Java中尝试过类似的东西。你不必自动发送它与Jetty。从服务器打开843.port上的套接字并用线程监听它。 Flash将以<policy-file-request/>的形式发送策略请求,在端口收到消息后,您将检查它是否为策略字符串。然后你应该发送

<cross-domain-policy>
     <allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>

作为通过端口返回的消息。在闪存采取这些响应后,提供服务器和闪存之间的握手。响应消息可能在不同的Flash版本中有所不同。如果应用程序在例如8080端口上运行,则应设置为-port属性8080;

<cross-domain-policy>
     <allow-access-from domain="*" to-ports="8080" />
</cross-domain-policy>