我们目前正在开发一款适用于Facebook的小型独立牌游戏,我们希望这款游戏能够达到数十万玩家(最终)。
我们已经找到了大部分问题(可扩展性,服务器端架构等) - 但是有一个问题 - 客户端和客户端之间的通信。服务器
我们有以下要求:
首先想到的是套接字连接,但我想知道,是否有更好的解决方案可以满足我们的需求?
谢谢!
答案 0 :(得分:1)
套接字连接几乎是不可避免的(参见transport layers)。
一个好主意是使用TCP:它保证交付(高可靠性),它以“连接”为导向。有一些缺点,但大多数计算机,路由器和浏览器都没有其他替代方案。
一个更重要的问题是:你打算通过TCP发送什么?通常,最好使用可在Flash和服务器中使用的内容(例如,请参阅Remote Procedure Call)。
“推送”消息通常只是HTTP连接的问题,因为它旨在处理同步请求。但是,在Flash中你没有这个限制。
可以通过“包装”TCP连接来添加安全性:使用SSL或TLS。
请参阅NetConnection课程和Action Message Format。
Adobe Integrated Runtime和Adobe Flash Player使用AMF在应用程序和远程服务器之间进行通信。 AMF将远程过程调用(RPC)编码为紧凑的二进制表示形式,可以通过HTTP / HTTPS或RTMP / RTMPS协议进行传输。对象和数据值被序列化为这种二进制格式,从而提高了性能,允许应用程序加载数据的速度比基于文本的格式(如XML或SOAP)快10倍。
答案 1 :(得分:1)
我们在Flash游戏中使用WebORB来传达服务器端和客户端,但我不知道这对您的要求是否足够。
对不起,如果我想念。