对于我的游戏,我让它在两台服务器上运行(一台用于游戏,一台用于登录系统)。他们都需要相互交互,有时还需要询问有关其他服务器中其他内容的状态的问题。
对于此示例,游戏服务器将询问登录服务器是否有玩家尝试登录:
public boolean isLoggingIn(int accountId) {
//Form a packet to send.
int retVal = sendData();
return retVal > 0;
}
显然我会使用 int,以便可以返回 boolean 值以外的信息。
我的问题是,如何让这种模式式编程工作?它的工作方式就像 JFileChooser 的 getOpenDialog() 函数一样。
另外,我应该提到,多个线程可以同时调用此方法。
最佳答案
我认为模态是指尝试阻止除一个之外的所有操作。我强烈怀疑这种风格会给你带来麻烦。模态交互是一种锁定形式,因此不太能容忍挂起和断开连接等。为了使其具有容忍性,您需要超时和清理代码,以应对有人进入某种模式但没有进一步发生的情况。 (即他们关闭了笔记本电脑,或者游戏崩溃了,他们拔掉了网络电缆等)。
如果我是你,我会尝试从身份验证和授权方面考虑问题。
关于java - Java 服务器内的模式式编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12115540/