2011-05-27 128 views
3

我打算開發基於多用戶回合的網頁賓果卡遊戲,使用Flash爲客戶端UI和基於Java的服務器應用程序。我需要決定是否可以使用Flash中的套接字與Java進行通信,或者使用Flash客戶端的Web服務調用。要求我們需要將隨機生成的賓果卡數據從服務器發送到基於瀏覽器的玩家,並且還需要將玩家數據存儲到數據庫。賓果遊戲Java服務器架構

請建議該架構將像使用套接字或Web服務調用

感謝

回答

6

更好,我更喜歡的Web服務,因爲

  • 不依賴於客戶端防火牆規則
  • 沒有必要執行低級別協議(必需的插座)
  • XML更容易在未來
  • 安全基礎設施與HTTPS可用且易於擴展以實現

你可能想看看的WebSockets(HTML5的一部分)

+0

感謝您的建議。如果我們使用Web服務,請建議我們如何發送基於服務器的消息(響應),如客戶端的賓果卡數據,而不刷新頁面。可能有些工作示​​例代碼會有幫助謝謝 – js4learn 2011-05-27 10:43:19

+0

@ js4learn你希望服務器**主動**發送消息嗎?那麼你應該看看WebSockets。否則,你實現一個無狀態會話bean並將其標記爲@WebService,這些方法應該是@WebMethod返回一個@WebResult。客戶可以調用該方法並接收卡數據。 – Thor 2011-05-27 11:25:29

0

我建議RESTful網絡服務。使用套接字編程肯定是一個壞主意。

  1. 如果要實現套接字服務器,你必須處理許多已經由Web服務器處理的縮放和性能問題,和會話管理問題太

  2. 如果您正在使用的任何端口不是80,很可能被ISP或防火牆阻止,特別是合作防火牆。

但你提到你使用的是Flash,我要提醒你,如果你想使用Web服務,有其閃光只會送過來IE瀏覽器的cookies,即使用戶使用的是Firefox或Chrome中的錯誤,所以基於cookie的會話管理可能會遇到閃存問題。

+0

謝謝。請建議我們如何解決FireFox或Chrome的IE會話cookie問題,因爲應用程序也需要支持這些瀏覽器 – js4learn 2011-05-27 10:44:37