簡體   English   中英

將數據從php發送到java

[英]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頁面的數據。

有兩種方法可以在兩台服務器之間進行通信。 我會用其中一個:

  • 套接字
  • JMS - Java消息服務,如ActiveMQ

他們都有可用的教程,只是谷歌。

您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM