1. 程式人生 > >Socket、Webservice和Json (二)

Socket、Webservice和Json (二)

socket和webservice都有跨平臺的優點,但是:
        socket偏底層,效率高,但是開發成本大。
        webservice效率低,但是開發成本低廉。



webservice,基於http協議,以xml為載體的通訊方式。
    好處,一直觀,二標準,也方便異構系統的互動。
    如果想提供對外的業務訪問的介面,可能需要瀏覽器,各種語言的客戶端等各種異構系統訪問,是首選。




socket,提供了tcp/ip或者udp的通訊的實現,如果做標準的伺服器,比如下載伺服器;或者語音通訊的程式,或者視訊,檔案傳輸……這些只能用socket。
    


單純用socket寫會很煩的,你要處理各種東西,協議的編解碼等等,所以這種情況下推薦mina,netty或者grizzly。




Json,本質來說它就是javascript片段描述物件,對瀏覽器很有用。如果要做一個ajax的功能的話,json是最簡單有效而且效能好。比如mtime的很多非同步功能都是用json方式傳遞的。json沒有什麼門檻,也可以用於異構系統互動,不過如果異構系統不僅僅是瀏覽器,那還是選擇webservice。jsonlib等庫都可以直接把一個物件轉為json字串,struts2也提供了json外掛,