0
A
回答
2
顧名思義,RPC(遠程過程調用)是一個構建物,以調用一個遠程節點上的功能(和得到的結果)。
端口(Erlang中)是一個簡單的通信點,甚至沒有(一定)到遠程節點。您可以使用端口,例如與另一個(非Erlang)程序進行通信。
兩個構建有不同的用途。沒有人會更好,他們完全不同。如果你願意,rpc比端口的抽象級別更高,但這並不會讓它變得更好或更糟。
相關問題
- 1. RPC和IPC有什麼區別嗎?
- 2. XML-RPC和SOAP有什麼區別?
- 3. Web服務和RPC有什麼區別?
- 4. RPC和Browser/Server有什麼區別?
- 5. Java RMI和RPC有什麼區別?
- 6. Erlang:「include_lib」和「include」有什麼區別?
- 7. Golang的net/rpc包和gRPC框架有什麼區別?
- 8. 在和Erlang一起使用時,==和=:= =有什麼區別?
- 9. Erlang/Yaws中的塊和非塊流有什麼區別
- 10. Erlang中的表達式和語句有什麼區別?
- 11. SOAP,XML-RPC和JSON之間有什麼區別?
- 12. json-rpc和erlang
- 13. erlang,'catch 1 = 0'和'(catch 1 = 0)'有什麼區別?
- 14. 在Erlang中,gen_server:start()和gen_server:start_link()有什麼區別?
- 15. Erlang Web網關接口(EWGI)和Webmachine之間有什麼區別?
- 16. Erlang中register_name和register函數有什麼區別
- 17. 有什麼區別`和$(Bash中有什麼區別?
- 18. 有什麼區別? :和||
- 19. &&和||有什麼區別?
- 20. 「/」和「/ *」有什麼區別?
- 21. 有什麼區別:。!和:r!?
- 22. ==和===有什麼區別?
- 23. Appender和〜有什麼區別?
- 24. $ @和$ *有什麼區別?
- 25. is和=有什麼區別?
- 26. #.00和#。##有什麼區別?
- 27. `==`和`is`有什麼區別?
- 28. '=='和'==='有什麼區別?
- 29. /和/#/有什麼區別?
- 30. | 0和~~有什麼區別?
@why不是一個真正的更高的抽象層。一個rpc,雖然是一個NIF,就像一個*函數調用*,而一個端口的行爲像一個*進程*。 rpc是順序的並且阻塞,而端口是併發的和非阻塞的。它告訴你什麼時候你會用另一個。 – rvirding 2013-03-18 07:59:12
你一般是正確的。然而,有些人認爲同步函數調用是一個更高的抽象,因爲併發是一個可以抽象的惡意細節。 – Matthias 2013-03-18 08:17:24
視圖考慮併發稍顯陌生一點是什麼Erlang是一回事,當然容錯性。 – rvirding 2013-03-18 08:45:37