因為這兩塊比較簡單,内容也比較少。是以就放一塊了。
Spark
這裡的spark是指openfire的一個用戶端,并非目前非常流行的大資料計算架構spark。
Spark頁面圖:

Spark的源碼建構
Spark的源碼建構和openfire都差不多。
也都非常的簡單。源碼目錄如下:
Spark也是用ant來編譯源碼的
源碼啟動類:
Tinder
Tinder是openfire官網對xmpp協定做的一個java對象封裝。其中源碼的内容也不多。下面是一張源碼結構圖:
下面略略的看看裡面的源碼。首先看看Packet這個類。 位于org.xmpp.packet下。這裡是xmpp消息包的基本屬性配置。比如to、from、id、error等。他有三個大的分類,如圖:
IQ又生出了不通的類型。比如type。
public enum Type {
/**
* The IQ is a request for information or requirements.
*/
get,
/**
* The IQ provides required data, sets new values, or
* replaces existing values.
*/
set,
/**
* The IQ is a response to a successful get or set request.
*/
result,
/**
* An error has occurred regarding processing or delivery of a
* previously-sent get or set.
*/
error;
}
在之前,我有寫過不同的消息類型比如“sgo”其實這之類的拓展都是基于修改這些包裡面的類容就行了。
關于JID的拓展
private final String node;
private final String domain;
private final String resource;
預設情況下有三個屬性,如何添加新的屬性就比較簡單了吧。按照上面任意一個屬性添加到相關的方法即可。
轉載于:https://www.cnblogs.com/huwf/p/4273342.html