如何让Java程序与其他Java程序通信

问题描述 投票:0回答:2

我正在尝试构建一个可在多个服务器之间平衡Minecraft播放器的负载并创建新的Minecraft服务器的系统。我制作了一个插件来平衡玩家的负载,它的工作原理很吸引人。但是现在我想创建一个系统,根据从插件接收的数据创建新服务器。

此系统与插件完全分开。但是我该怎么做,以便插件将某种命令发送到服务器系统,以便知道创建新服务器。我研究了Sockets,但想知道这是否是最佳解决方案。也许Rest api也可以工作?

java sockets minecraft bungeecord
2个回答
0
投票

您可以通过将一个Java程序写入.txt文件,而另一个程序读取该行,然后使用java.io.FileWriter和java.util.Scanner删除该命令来解决此问题。我有一个在这里执行此操作的github项目:

https://github.com/DPS100/Diego-s-Project-Euler/blob/master/Main.java


0
投票

我想知道这个项目是否会给您带来想法。大卫·弗拉纳根(David Flanagan)撰写的一本简明扼要的书中提到了MUD(多用户域)。有趣的是……这些部件登录到中央服务器……他们通过套接字与之对话,使用RMI Registry等。每个用户的游戏状态及其用户值甚至都被序列化了……保存状态重新加载。我认为整个文件中除了我的一个链接之外,还有更多文件。但是,如果您可以找到它,我想这个概念正是您在说的。您自己的小MUD概念。

或者,如果那里有一个库或API,我想也可以。但这是一个有趣的项目,不仅我在书中读了它,而且还为自己建立了泥泞,并开始弄乱它。祝好运。 O'Reilly Java In Anutshell系列... David Flanagan ... Mud.java。检查一下。真的也很简单。

Mud.java

编辑:就像每个用户一样,实际上游戏空间中的对象和房间也是如此……在中央存储库中注册,并将自己附加为小型服务器。中心对象保持凝聚力。人们在创建时依附,离开,物品和房间,依依不舍……记住依依依依的人。所有都通过网络使用远程方法调用。听起来完全像您要达到的目标。泥浆又小又简单。但这也不是没有复杂性。一点。祝你好运。

© www.soinside.com 2019 - 2024. All rights reserved.