Я нашел довольно много других сообщений на эту тему, но ни один, кажется, не имеет ответа, в котором я нуждаюсь.
Я написал плагин Bukkit для Minecraft, который может отправлять данные постов на страницу PHP и получать возврат со страницы.
Теперь одна вещь, которую я не могу понять. Я хотел бы иметь кнопку на странице, и когда кнопка нажата, отправьте данные плагину Java и попросите плагин напечатать сообщение.
Я видел что-то про сокеты. Но после прочтения о них я не могу понять, как их настроить.
Практически в любое время вы сможете нажать кнопку, и она отправит данные в плагин Java, и я могу использовать эти данные так, как мне нравится.
Кто-нибудь знает, как я могу иметь плагин Java, постоянно ожидающий данных со страницы?
Мой текущий код:
(Это отправляет имя игрока на сайт.)
String re = "";
URL url = new URL("address here");
URLConnection con = url.openConnection();
con.setDoOutput(true);
PrintStream ps = new PrintStream(con.getOutputStream());
ps.print("player=" + player.getName());
con.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
re += line + "\n";
}
rd.close();
ps.close();
И мой php просто возвращает все полученные данные.
Это работает нормально, но я хотел бы слушать в моем плагине Java для данных со страницы PHP.
Есть много способов установить связь между двумя серверами. Я бы использовал один из них:
У обоих из них есть доступные учебники, просто Google.
Вы могли бы использовать database
или настройте json/xml
API на PHP
конец и получить доступ к database
или получить доступ к json/xml
из Java с этим примером кода, чтобы открыть URL-адрес.
URL url = new URL("site.com/api/foo.json");
try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
for (String line; (line = reader.readLine()) != null;) {
System.out.println(line);
}
}
Вы можете посмотреть на этот урок разобрать JSON с Java.