2012-09-21 71 views
1

我开始在flex/as3中开发多人游戏。目前我滥用HTTPService类在回合制游戏中向服务器发出请求。我不知道是否可以使用这个组件。多人游戏的最佳方法

如果我需要制作一个大型多人游戏,该怎么办?

我可以针对这些问题提供一些提示吗?像最好的方法,组件等等

回答

2

WebSockets,虽然它们似乎是所有程序员现在滥用的新锤子,它在多人游戏中使用是完全合理的,但是目前有很多解决方案使用TCP协议,但使用UDP会更有益处:

“UDP确实比TCP更快,原因很简单,因为它不存在允许连续数据包流的确认数据包(ACK),而不是确认TCP一组数据包,使用TCP窗口大小和往返时间(RTT)进行计算。“

这并不是必需的,你仍然可以使用任何可用的TCP(尽管性能低于常规HTTP请求的性能高出100倍),并且会比HTTP(对象的序列化{没有更糟糕的XML}) 。

+0

我的印象是WebSockets是一个浏览器功能;与Flash Player无关。因此,我不确定这个答案如何与实际问题相关。试图在Flash应用程序中使用WebSocket似乎是非常困难的;特别是当Flash Player具有自己的套接字实现时,它可以使更多的浏览器更加一致。 – JeffryHouser

+1

@ www.Flextras.com WebSockets是一种协议。这是一个使用协议https://github.com/Worlize/AS3WebSocket的AS3项目,这里是WebSockets协议的规范http://tools.ietf.org/html/rfc6455 –

+0

@The_asMan感谢您的教育。这是维基百科的一篇相关引文,我第一次错过了“WebSocket旨在在Web浏览器和Web服务器中实现,但它可以被任何客户端或服务器应用程序使用。” http://en.wikipedia.org/wiki/WebSockets – JeffryHouser