快速介绍:我们已经完成了一个flash tetris游戏,我们希望为游戏添加多人游戏功能。经过几天对闪存和插座功能的研究,我变得更加困惑。一个快速的免责声明,我是一般的插座/网络新手。
从我在线收集的内容来看,由于策略系统的原因,一般的flash tcp套接字无法处理对等连接。为了让flash执行p2p,必须使用支持RTMFP的服务器(例如闪存介质服务器等)来处理初始握手,从那里,flash能够以p2p方式传递数据。
编辑:请参阅第一个答案,了解有关该问题的全面更新。
答案 0 :(得分:2)
1)对于套接字策略,请使用我的Perl脚本或Apache模块(两者都运行良好):http://code.google.com/p/mod-socket-policy/ - 它将为连接到端口843的客户端提供服务。
但这还不够,因为防火墙/代理后面的企业用户 - 无法连接到端口843,因此您需要将套接字策略处理添加到您自己的服务器代码中(即响应传入的< policy-file-request /> \ 0 请求)。
2)对于RTMFP - 不要这样做,因为:
a)Cirrus不是一种选择,因为它是beta而不是商业用途。它似乎已经过时了FMS4,所以在它停止之前多久了?
b)Flash Media Server 4选项非常昂贵。对于企业版(RTMFP所需),Adobe甚至没有公开列出价格。您唯一的选择是适用于AWS的FMS4,但它也很昂贵:adobe media server 4 cost with amazon?
c)RTMFP有一个OSS项目,但还没有准备好:OpenRTMFP Cumulus
d)对于某些用户,RTMFP无法正常工作
所以我的建议是使用适用于所有用户的RTMP / RTMPT,包括。公司的,并使用Red5:http://red5.org/
答案 1 :(得分:1)
Red5不支持RTMFP。您将在adobe网页上获得Flash Media Server的价格。
答案 2 :(得分:0)