Flash WebSockets 后备和 Jetty 8?

发布于 2024-10-23 12:20:51 字数 513 浏览 3 评论 0原文

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

问题:我需要在端口 843 上为 Flash 提供一些 XML 文件。现在我对 Flash 和 Jetty 都是新手,想弄清楚如何实现这一点。我之前在 PHP、Python 和 Ruby 中使用过 HTML5 WebSockets,并且 echo 服务器在我的 Mac 上完美运行,但现在我需要配置 Jetty 来发送文件。有什么想法吗?

I found this awesome example: https://github.com/matzew/jetty-websocket, or an HTML5 WebSocket echo server in Jetty, and I love it's simplicity. However, the web app I am developing will require a bit more cross-browser compatibility, so I tried to use: https://github.com/gimite/web-socket-js/ as a Flash fallback.

The problem: I need to serve some XML file on port 843 for Flash. Now I am new to both Flash and Jetty, and would like to figure out how to accomplish this. I have used HTML5 WebSockets before in PHP, Python, and Ruby, and I have the echo server working perfectly on my Mac, but now I need to configure Jetty to send the file. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

〃安静 2024-10-30 12:20:51

当您从闪存连接时,您需要使用 XML 策略文件进行响应。为此,您可以创建自己的服务器(使用您想要的任何语言)绑定在 848 端口上并使用该 xml 进行响应,或者您可以尝试以下解决方案:
http://jwebsocket.org/

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

希望这对您有帮助。

when you're connecting from flash you need to respond with an XML policy file. To do this you either create your own server(in whatever language you want) that binds on 848 port and respond with that xml or you could try this solution:
http://jwebsocket.org/

Not sure, but I read somewhere that is based on jetty websockets api.

Hope this helps you.

拔了角的鹿 2024-10-30 12:20:51

我以前在Java中尝试过类似的事情。您不必使用 Jetty 自动发送它。从服务器打开 843.port 上的套接字并使用线程监听它。 Flash 将以 形式发送策略请求,在端口接收消息后,您将检查它是否是策略字符串。然后您应该

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

通过端口作为消息发送回来。 Flash 收到这些响应后,将提供服务器和 Flash 之间的握手。不同的 Flash 版本,响应消息可能有所不同。如果应用程序运行在例如 8080 端口上,您应该设置 to-ports 属性 8080;

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

I've tried something like that in Java before. You dont have to send it with Jetty automatically. Open a socket on 843.port from server and listen it with a thread. Flash will send the policy request as <policy-file-request/> and after port take a message you will check whether it is policy string. Then you should send

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

as a message thgrough the port back. After flash takes these response, the handshake between server and flash is provided. Response message might be different in different flash version. If application running on for example 8080 port you should set to-ports attribute 8080;

<cross-domain-policy>
     <allow-access-from domain="*" to-ports="8080" />
</cross-domain-policy>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文