作者weakstudy (台灣高階管理人)
看板java
標題[問題] 該如何讓java和exe相互溝通?
時間Wed Jun 21 18:15:34 2017
請教各位前輩,
小弟想要讓Java和Windows Exe相互交換資料,
現在情境:
小弟有二支Java程式A.java及B.java(均為專案),
均是用Java寫成,
但是使用Jsmooth工具包成Exe,
所以現在是二個Exe執行檔A.exe及B.exe,
問題為A.exe執行後有資訊要丟至B.exe,
小弟在A.java裡寫了它會回傳一個HashMap<String, Object>(假設為data),
該如何在B.java裡取用到它(data)呢?
(另外先提一聲,此二專案不能互相引用,
所以也不知道該稱為"java exe 溝通"還是"exe exe 溝通"?
另外也不考慮用資料庫、檔案或此類方法,謝謝!)
不知道各位能否指點一下呢?
小弟用關鍵字於google上均查不到相關資料,
不知道是否有什麼方法或是套件可以用呢?
謝謝大家!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.40.236
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1498040137.A.C56.html
1F:→ ssccg: 關鍵字 IPC 06/21 18:23
2F:→ ssccg: 最單純的方法就是開個socket.. 06/21 18:27
3F:→ weakstudy: 回ssccg大,請問是軟體或是套件嗎? 06/21 18:35
4F:→ weakstudy: 在網上搜尋,結果…IPC入侵實例! 06/21 18:37
5F:→ weakstudy: = =" 06/21 18:37
6F:→ weakstudy: 另外深入點查詢,好像是正解!但是 … 06/21 18:48
7F:→ weakstudy: 不知道把java用Smooth包成exe,那這個方法行的通嗎? 06/21 18:48
8F:→ ssccg: 不管你包成什麼東西,你還是寫java程式碼吧? 06/21 21:20
9F:→ weakstudy: ssccg大大,是的 06/21 23:31
10F:→ weakstudy: 我查了一下,發現ipc方法還可以在不同程式間溝通 06/22 00:40
11F:→ weakstudy: 真是強大啊,只是想問一聲,和Socket解法優缺點是…? 06/22 00:41
12F:→ ssccg: socket是IPC的一種方法... 只要在同電腦程式間溝通就叫IPC 06/22 09:16
13F:→ weakstudy: 謝謝ssccg大,了解! 06/22 09:56
14F:→ weakstudy: 但…有沒有辦法直接用Object來溝通呢? 06/22 11:43
15F:→ weakstudy: 但…有沒有辦法直接用Object來溝通呢? 06/22 11:44
16F:→ weakstudy: 貼錯,程式語法上,要怎麼寫呢? 06/22 11:44
17F:推 gmoz: 兩個人還是得靠說話、書寫、動作等才能互相溝通 06/22 14:36
18F:→ gmoz: 你沒辦法知道對方腦子在想什麼 兩隻.EXE也是同樣道理 06/22 14:36
19F:→ gmoz: socket就是其中一種溝通方法 06/22 14:36
20F:推 gmoz: socket的寫法、傳遞,你自己GOOGLE吧 有一大堆 06/22 14:39
21F:→ weakstudy: 目前想用RandomAccessFile+MappedByteBuffer來做, 06/22 15:36
22F:→ weakstudy: 目前卡在HashMap<String, Object>無法getBytes … 06/22 15:38
23F:→ weakstudy: 啊 … 想不出來啊 … 救人啊 … 06/22 15:38
24F:→ weakstudy: 網路上全部都是用"字串" … 06/22 15:43
25F:→ weakstudy: 可是小弟的資料不是只有數字,字串這麼簡單的啊 ~~~ 06/22 15:44
26F:→ weakstudy: 可以用Object來溝通嗎? 怎麼沒看到例子啊? = = 06/22 15:44
27F:→ ssccg: 不可以,物件是JVM管理的記憶體內的表示方式,離開就沒了 06/22 16:06
28F:→ ssccg: 要傳出去要序列化(把Object轉成某種binary表示法),當然有 06/22 16:07
29F:→ ssccg: 很多library把這段包裝起來,可以把IPC用起來像呼叫方法 06/22 16:09
30F:→ weakstudy: ssccg大,可以說一下是那些套件嗎? 06/22 16:25
31F:→ weakstudy: 或是有什麼關鍵字提示呢? 06/22 16:27
32F:推 Jasonzheng: 多 google 吧... ss 講的都關鍵字 06/22 19:38
33F:→ Jasonzheng: 推文看的懂的話 應該沒什麼問題才是0.0 06/22 19:40
34F:推 Jasonzheng: 最簡單就 Data 實做 Serializable,並用 ObjectOutput 06/22 19:43
35F:→ Jasonzheng: Stream 06/22 19:43
36F:推 gmoz: json 06/22 21:23
37F:→ gmoz: 差點打成jason.. 06/22 21:24
38F:→ ssccg: 用方法呼叫的通常叫RPC,是說不管IPC還RPC應該都很好找到一 06/23 00:04
39F:→ ssccg: 堆吧...沒什麼更關鍵的關鍵字了,再來就直接套件名字了 06/23 00:08
40F:→ weakstudy: 謝謝各位的教導,謝謝! 06/23 09:20
41F:→ Jasonzheng: 哈囉 g 大,jason 來惹 xd 06/23 17:39
42F:推 Nt1: protocol buffer? 06/25 19:06