我已经找到了相当多关于这个话题的其他帖子,但似乎都没有我需要的答案。
我已经为我的世界写了一个Bukkit插件,它可以将post数据发送到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只返回它得到的任何post数据。
它工作得很好,但我想在我的java插件中监听来自php页面的数据。
发布于 2014-12-23 17:41:38
有许多方法可以在两台服务器之间进行通信。我会用其中的一个:
等Java消息服务
他们都有可用的教程,只有google。
发布于 2014-12-30 13:09:34
您可以使用database,或者在Java端设置Java并访问json/xml,或者使用此示例代码从PHP访问json/xml以打开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);
}
}您可以使用this tutorial来解析JSON。
https://stackoverflow.com/questions/27612680
复制相似问题