使用 nodejs 和 expressjs 的 flash 套接字策略
Posted
技术标签:
【中文标题】使用 nodejs 和 expressjs 的 flash 套接字策略【英文标题】:flash socket policy with nodejs and expressjs 【发布时间】:2014-02-06 13:18:49 【问题描述】:我在 nodejs + expressjs + socket.io 上有一个小应用程序,它就像一个魅力......主要是。
flash socket policy server 有问题。问题是我无法在端口 843 上运行套接字策略服务器。如果 Flash Player 无法从端口 843 检索主策略文件,那么它会在尝试连接的端口上请求一个套接字策略文件。因此,解决方案可能是在 80 响应正常的 http 请求(使用 express)并在同一端口上捕获带有数据 <policy-file-request/>\0
的普通 TCP 连接并使用策略响应。我正在尝试适应 this code 但没有运气。
当<policy-file-request/>\0
传入时如何强制 express 以 TCP 连接策略响应,否则提供 http 响应?
【问题讨论】:
【参考方案1】:我不知道 socket.io Flash 电影是否可以做到这一点,但您可以明确设置一个端口来加载策略文件。
从 ActionScript 3 开发人员的角度来看,您可以这样做:
Security.loadPolicyFile("xmlsocket://example.com:10843");
socket = new FlashSocket("example.com:80");
这样可以从其他端口加载crossdomain.xml
,然后是您的 HTTP 端口或 843。
【讨论】:
在 843 以外的端口上运行闪存策略服务器对我不起作用。 1. 不能解决问题,因为代理(公司)后面有大量用户,他们通常只有 80 443 端口可用。用户的大问题。 2.我只能使用80、443端口。对我来说是个大问题。解决方案是在端口 80 上运行服务器并识别它是用于闪存策略文件还是 HTTP 的原始 TCP 连接。但我不知道如何在带有 epress 的节点中做到这一点。以上是关于使用 nodejs 和 expressjs 的 flash 套接字策略的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 NodeJS/ExpressJS 和 Postman 获取 POST 数据
数据未使用 NodeJS、ExpressJS 和 EJS 保存到 MongoDB 数据库
nodejs 与 expressjs 和 SSL p7b 证书