从上周开始,我正在尝试建立一个多人游戏。我在玩一场小游戏。我在服务器和客户端之间建立了一个简单的套接字连接。在服务器端,iam为每个连接创建两个线程。- readThread和writerThread现在是向服务器发送命令的最佳方式,并将它们重新来源于需要它们的人。我对战略模式很感兴趣,但这是正确的情况吗?发送给服务器的命令应该调用服务器上的另一个组件。示例
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);
}
}发布于 2013-07-27 17:07:18
对于像这个游戏这样的现代客户端服务器应用程序(它实际上不需要100%的“实时”通信),我建议首先使用HTTP (Websockets将是完美的)协议,这将为通信本身提供足够的灵活性和经过验证的稳定性和可靠性。
例如,特定的技术将是Spring。
在此基础上,我实现了Facade pattern,它在一个统一的“层”中向客户端应用程序公开了服务器的功能。
从这里开始,您当然可以使用您正在考虑的策略模式。
尽管如此,作为对这一特殊要求的一般性建议,当然还有其他的好办法。
https://stackoverflow.com/questions/17899850
复制相似问题