簡體   English   中英

使用Java中的TCP協議游戲系統的多客戶端多實例集中式服務器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM