看板 java 關於我們 聯絡資訊
請教各位前輩, 小弟想要讓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://www.ptt.cc/bbs/java/M.1498040137.A.C56.html
ssccg: 關鍵字 IPC 06/21 18:23
ssccg: 最單純的方法就是開個socket.. 06/21 18:27
weakstudy: 回ssccg大,請問是軟體或是套件嗎? 06/21 18:35
weakstudy: 在網上搜尋,結果…IPC入侵實例! 06/21 18:37
weakstudy: = =" 06/21 18:37
weakstudy: 另外深入點查詢,好像是正解!但是 … 06/21 18:48
weakstudy: 不知道把java用Smooth包成exe,那這個方法行的通嗎? 06/21 18:48
ssccg: 不管你包成什麼東西,你還是寫java程式碼吧? 06/21 21:20
weakstudy: ssccg大大,是的 06/21 23:31
weakstudy: 我查了一下,發現ipc方法還可以在不同程式間溝通 06/22 00:40
weakstudy: 真是強大啊,只是想問一聲,和Socket解法優缺點是…? 06/22 00:41
ssccg: socket是IPC的一種方法... 只要在同電腦程式間溝通就叫IPC 06/22 09:16
weakstudy: 謝謝ssccg大,了解! 06/22 09:56
weakstudy: 但…有沒有辦法直接用Object來溝通呢? 06/22 11:43
weakstudy: 但…有沒有辦法直接用Object來溝通呢? 06/22 11:44
weakstudy: 貼錯,程式語法上,要怎麼寫呢? 06/22 11:44
gmoz: 兩個人還是得靠說話、書寫、動作等才能互相溝通 06/22 14:36
gmoz: 你沒辦法知道對方腦子在想什麼 兩隻.EXE也是同樣道理 06/22 14:36
gmoz: socket就是其中一種溝通方法 06/22 14:36
gmoz: socket的寫法、傳遞,你自己GOOGLE吧 有一大堆 06/22 14:39
weakstudy: 目前想用RandomAccessFile+MappedByteBuffer來做, 06/22 15:36
weakstudy: 目前卡在HashMap<String, Object>無法getBytes … 06/22 15:38
weakstudy: 啊 … 想不出來啊 … 救人啊 … 06/22 15:38
weakstudy: 網路上全部都是用"字串" … 06/22 15:43
weakstudy: 可是小弟的資料不是只有數字,字串這麼簡單的啊 ~~~ 06/22 15:44
weakstudy: 可以用Object來溝通嗎? 怎麼沒看到例子啊? = = 06/22 15:44
ssccg: 不可以,物件是JVM管理的記憶體內的表示方式,離開就沒了 06/22 16:06
ssccg: 要傳出去要序列化(把Object轉成某種binary表示法),當然有 06/22 16:07
ssccg: 很多library把這段包裝起來,可以把IPC用起來像呼叫方法 06/22 16:09
weakstudy: ssccg大,可以說一下是那些套件嗎? 06/22 16:25
weakstudy: 或是有什麼關鍵字提示呢? 06/22 16:27
Jasonzheng: 多 google 吧... ss 講的都關鍵字 06/22 19:38
Jasonzheng: 推文看的懂的話 應該沒什麼問題才是0.0 06/22 19:40
Jasonzheng: 最簡單就 Data 實做 Serializable,並用 ObjectOutput 06/22 19:43
Jasonzheng: Stream 06/22 19:43
gmoz: json 06/22 21:23
gmoz: 差點打成jason.. 06/22 21:24
ssccg: 用方法呼叫的通常叫RPC,是說不管IPC還RPC應該都很好找到一 06/23 00:04
ssccg: 堆吧...沒什麼更關鍵的關鍵字了,再來就直接套件名字了 06/23 00:08
weakstudy: 謝謝各位的教導,謝謝! 06/23 09:20
Jasonzheng: 哈囉 g 大,jason 來惹 xd 06/23 17:39
Nt1: protocol buffer? 06/25 19:06