[英]Send data from php to java
我在這個主題上發現了很多其他帖子,但似乎沒有一個我需要的答案。
我為Minecraft編寫了一個Bukkit插件,可以將后期數據發送到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頁面的數據。
有兩種方法可以在兩台服務器之間進行通信。 我會用其中一個:
他們都有可用的教程,只是谷歌。
您可以使用database
,或在PHP
端設置json/xml
api,並訪問database
,或使用此示例代碼從Java訪問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);
}
}
您可以查看本教程以使用Java解析JSON。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.