有一些RMI,我知道它比較脆弱,直接的Socket連接,它的級別很低,而Strings儘管看起來像實體一樣穩定隱喻的PHP。Java中的網絡通信選項(客戶機/服務器)
對於基於Internet的客戶端/服務器通信,我有哪些基本選項?有什麼優點/缺點?我應該考慮哪些問題?第三方庫的建議是好的,只要它們保持平臺獨立(即沒有限制本地代碼)。
尋找選擇,而不是一個明確的答案,所以我把我自己的要求的細節留空。
有一些RMI,我知道它比較脆弱,直接的Socket連接,它的級別很低,而Strings儘管看起來像實體一樣穩定隱喻的PHP。Java中的網絡通信選項(客戶機/服務器)
對於基於Internet的客戶端/服務器通信,我有哪些基本選項?有什麼優點/缺點?我應該考慮哪些問題?第三方庫的建議是好的,只要它們保持平臺獨立(即沒有限制本地代碼)。
尋找選擇,而不是一個明確的答案,所以我把我自己的要求的細節留空。
正如你指定的「基於互聯網的」,有很多的基於HTTP的,RESTful做法可以說(我強調你應該考慮的一些問題):
優點:
缺點:
謝謝,這正是我正在尋找的答覆。簡潔,但仍然詳細,鏈接到更多的閱讀材料。現在,如果您可以請重複所有其他選項? ;) –
'相對脆弱'是什麼意思? RMI的問題與它在狹窄的基礎上成爲一個大型的超級結構有關,特別是它對DNS和對象序列化有很大的依賴性。越接近芯片,任何程序越脆弱,但編寫的代碼越多。這是一個折衷。儘管我已經寫了一本關於它的書,但我並不是一個獨眼的RMI支持者,但'脆弱'這個詞太強大了。它做它做的事情,而且做得相當好。如果您需要大規模的可擴展性,RMI/IIOP在很多方面會做得更好。如果您對世界的看法是最多一次遠程方法調用而沒有太多的安全性,RMI/JRMP將會給您。從模型中得到的越遠,就越難以應用。
我想說你的項目的細節可能會決定你的需求。也就是說,讓軟件要求告訴你(我們)哪個方向最適合情況!就我個人而言,我是插座的忠實粉絲......但我當然可以看到套接字是不是Java的「一刀切」部分:) – claymore1977