java:将服务器合并到客户端

java:将服务器合并到客户端,java,client,Java,Client,我有一个非常简单的基于回合的java在线游戏。客户机使用普通的java套接字与服务器对话 现在为了离线玩游戏,我想将服务器合并到客户端 不可能只启动运行在本地主机上的服务器和连接到该主机的客户端。我再也不能使用任何网络工具了。所以我想把协议自动转换成一些输入/输出流 你有什么想法可以告诉我怎么做吗?使用什么技术 谢谢 您应该能够同时运行服务器,但我认为更干净的解决方案是将远程服务器调用抽象为一个接口或一组接口。您可以将现有代码放在一个实现中,将本地主机“服务器”放在另一个实现中。这只是绑定适当版

我有一个非常简单的基于回合的java在线游戏。客户机使用普通的java套接字与服务器对话

现在为了离线玩游戏,我想将服务器合并到客户端

不可能只启动运行在本地主机上的服务器和连接到该主机的客户端。我再也不能使用任何网络工具了。所以我想把协议自动转换成一些输入/输出流

你有什么想法可以告诉我怎么做吗?使用什么技术


谢谢

您应该能够同时运行服务器,但我认为更干净的解决方案是将远程服务器调用抽象为一个接口或一组接口。您可以将现有代码放在一个实现中,将本地主机“服务器”放在另一个实现中。这只是绑定适当版本的问题

localhost版本可以只是对服务器的直接调用,也可以使用executor服务假装单向调用。应该有一些性能优势,因为您不需要花费额外的时间序列化和反序列化消息。抽象的外观很好,因为您可以放置成熟的实现进行测试


至于在与客户端相同的进程中运行服务器,除了首先启动服务器之外,不应该对此有任何限制;)

您说“不可能只启动运行在本地主机上的服务器和连接到该主机的客户端”。为什么不可能?这是因为在我的环境中,由于某些策略原因,客户端只能运行单线程。