我開始在flex/as3中開發多人遊戲。目前我濫用HTTPService
類在回合制遊戲中向服務器發出請求。我不知道是否可以使用這個組件。多人遊戲的最佳方法
如果我需要製作一個大型多人遊戲,該怎麼辦?
我可以針對這些問題提供一些提示嗎?像最好的方法,組件等等
我開始在flex/as3中開發多人遊戲。目前我濫用HTTPService
類在回合制遊戲中向服務器發出請求。我不知道是否可以使用這個組件。多人遊戲的最佳方法
如果我需要製作一個大型多人遊戲,該怎麼辦?
我可以針對這些問題提供一些提示嗎?像最好的方法,組件等等
WebSockets,雖然它們似乎是所有程序員現在濫用的新錘子,它在多人遊戲中使用是完全合理的,但是目前有很多解決方案使用TCP協議,但使用UDP會更有益處:
「UDP確實比TCP更快,原因很簡單,因爲它不存在允許連續數據包流的確認數據包(ACK),而不是確認TCP一組數據包,使用TCP窗口大小和往返時間(RTT)進行計算。「
這並不是必需的,你仍然可以使用任何可用的TCP(儘管性能低於常規HTTP請求的性能高出100倍),並且會比HTTP(對象的序列化{沒有更糟糕的XML}) 。
您還可以使用Flash Remoting和Flash Media Server(或similiar)更高效地與服務器進行通信。
我的印象是WebSockets是一個瀏覽器功能;與Flash Player無關。因此,我不確定這個答案如何與實際問題相關。試圖在Flash應用程序中使用WebSocket似乎是非常困難的;特別是當Flash Player具有自己的套接字實現時,它可以使更多的瀏覽器更加一致。 – JeffryHouser
@ www.Flextras.com WebSockets是一種協議。這是一個使用協議https://github.com/Worlize/AS3WebSocket的AS3項目,這裏是WebSockets協議的規範http://tools.ietf.org/html/rfc6455 –
@The_asMan感謝您的教育。這是維基百科的一篇相關引文,我第一次錯過了「WebSocket旨在在Web瀏覽器和Web服務器中實現,但它可以被任何客戶端或服務器應用程序使用。」 http://en.wikipedia.org/wiki/WebSockets – JeffryHouser