JXTA中雙向可靠的資訊渠道

2021-08-30 14:19:53 字數 882 閱讀 9754

在前面我們講到管道通訊都是單向不可靠的。如果jxta只提供它,那jxta就太遜了。當然不可能,jxta不只提供單向不可靠的通訊渠道,也提供了雙向可靠的通訊渠道,在基於jxta管道提供單向,不可靠的通訊渠道。由於管道對於服務和應用更加有用,在管道上實現雙向和可靠通訊渠道是很重要的。jxse提供了滿足大多數應用相對高水平的要求的功能:即,可靠,確保資訊順序,確保傳遞,公開資訊和介面,安全。這才是jxse追求的理想中的通訊渠道。從最早的版本提供的bidirectionpipeservice到現在的

jxtaserverpipe

和jxtabidipipe

,jxtaserversocket

和jxtasocket。

下面我們來說說這兩種不同雙向可靠的通訊渠道存在什麼共同點和不同點。 1、

共同點:建立在管道之上,端點信使,和可靠資料報;

提供雙向,可靠和安全的通訊渠道

不同點:jxtasocket and jxtaserversocket

1、公開乙個流基本介面 2、

提供可配置的內部緩衝和資訊塊 3、

流一定要清空

jxtabidipipe and jxtaserverpipe:

1、共開乙個資訊基本介面

2、不提供資訊塊,所以在程式中必須要注意資訊最大不要超過標準資訊大小64k。

站在更高一層面看,其實兩種的建立連線和通訊的過程都一樣的。

我們可以看到兩個都有乙個server,其實在這裡server只是起到連線作用。而且真正的通訊是jxtabidipipe,jxtasocket。這樣說可能大家還是不太清楚,下面給出乙個圖,就很容易理解了。   

從上圖我們可以看到,其實就是利用jxtabidipipe,jxtasocket來通訊。只是兩個節點間建立起這兩種渠道,就可以進行雙向可靠的通訊。

Storm中的可靠性

storm中的可靠性 storm的ispout介面定義了三個與可靠性有關的方法 nexttuple,ack和fail。public inte ce ispout extends serializable 我們知道,當storm的spout發射乙個tuple後,他便會呼叫nexttuple 方法,在這...

vue中的雙向繫結

我參考了這篇文章 vue.js雙向繫結的實現原理.其實用事件 就可以實現類似雙向繫結的效果,原理是當檢測到資料改動時會觸發乙個keyup事件或者表單的change事件,通過監聽這個事件做出響應,對應改變dom的內容.如下 通過在輸入框裡面輸入內容,內容會在右邊同步顯示或改變.需要注意的是,react...

NDK中可靠的獲取JNIEnv 的方法

使用ndk時,幾乎任何方法都需要乙個jnienv來呼叫。這個類是和執行緒相關的,如何可靠的獲取它?首先,作為ndk的so,必然有乙個地方是由android系統呼叫的,這個呼叫將帶來乙個jnienv引數,不要使用它,而是呼叫 jnienv getj m g j m 獲取乙個j m型別變數。接著在需要使...