[問題] 該如何讓java和exe相互溝通?

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

Links booklink

Contact Us: admin [ a t ] ucptt.com