[英]Multi-client multi instance centralised server using TCP protocol gaming system in Java
我不是Java編程的新手。 我想知道如何繼續我的項目。
我想用Java / IP協議套接字系統開發Java集中式游戲系統。 它應該獲取玩家的詳細信息並在游戲窗口中顯示信息。
這些是我的標准:
最大和最小玩家數量可以參加? 服務器在游戲板的給定狀態之前的行為:應該邀請一個或多個玩家提供他們的投籃,通知對手的打擊或玩家可以宣布該聚會結束? 如何在玩家提供鏡頭時更新游戲???
我不是在尋找直接回答。 我正在尋找一些指導,這對我開始這個項目很有幫助。 是否有任何工具用於使用TCP協議的多客戶端多實例集中服務器???
java,mina,netty有幾個網絡庫。
借助這些網絡庫,您可以輕松解決網絡問題。
您應該維護服務器內存中的所有user_context
對象,並將它們中的每一個綁定到相應的tcp連接。 在大多數情況下, user_context
對象維護為RB樹的哈希映射/字典。
因此,當某些事件發生時,您可以找到相應的用戶/客戶端並將消息發送給他們。
我認為最小球員數是0;
最大值可能取決於; - 你的帶寬,你需要有一個顯着的上傳速度,你想要成千上萬的用戶。 - 管理每個用戶的工作量。 您可以在單個服務器上連接10,000個用戶(如果他們沒有做太多工作),但是當您添加功能時,每個服務器的用戶數將減少到1000個,可能只有100個。
當你有無限的帶寬和每個連接的繁瑣工作時(通常復制零的byte[]
),IO框架的選擇會產生很大的不同。對於實際應用,它不太可能重要。 如果您以后找到更好的解決方案,我建議您選擇哪種解決方案讓您輕松更換。
是否有任何工具用於使用TCP協議的多客戶端多實例集中服務器???
使用的常用工具是JMS,但游戲可能是您可能不會使用它的一個區域。 我將從ActiveMQ開始,因為這將使您快速啟動並運行,只需確保您以后可以輕松更換它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.