2013-07-27 74 views
0

自從上週iam試圖構建一個多人遊戲。 iam與一個tictactoe遊戲的statring。 我在服務器和客戶端之間做了一個簡單的套接字連接。 在服務器端iam爲每個連接製作2個線程。 - readThread和writerThread 現在最好的方式發送命令到服務器,並把他們重新來源需要他們的whos。我有關戰略模式的事情,但這是正確的場景嗎? 我發給服務器的命令應該調用服務器上的另一個組件。 例如Socket上的Java多人遊戲 - 使用策略模式?

public abstract class Command { 
abstract void execute(); 
} 

public class LoginCommand extends Command{ 
ServerMethodeInterface serverMethodeInterface; 
private String name; 
private String passwort; 

LoginCommand(String name, String password){ 
this.name = name; 
this.passwort = password; 
} 

@Override 
void execute() { 
serverMethodeInterface.login(name,password); 
} 

} 

回答

0

對於現代的客戶端 - 服務器應用程序,例如這個遊戲(實際上並不需要100%的「實時」通訊)我建議利用HTTPWebsockets將是完美的)協議,這將爲您提供足夠的靈活性,並保證通信本身的穩定性。
例如,具體的技術是Spring

最重要的是,我會實現Facade pattern,它在一個統一的「圖層」中將您的服務器的功能公開給您的客戶端應用程序。

從那裏你當然可以使用你正在考慮的戰略模式

這就是說,作爲這個特殊要求的一般建議,當然還有其他不錯的方法。