1.java openfire
java openfire
java openfireæ¯ä»ä¹ï¼ 让æ们ä¸èµ·äºè§£ä¸ä¸ï¼
Openfireæ¯å¼æºçãåºäºå¯æå±é讯å表示åè®®ï¼XMPPï¼ãéç¨Javaç¼ç¨è¯è¨å¼åçå®æ¶åä½æå¡å¨ãOpenfireçæçå¾é«ï¼åå°æå¡å¨å¯æ¯æä¸ä¸å¹¶åç¨æ·ã
openfireçææ¯æ¶ææ¯ä»ä¹ï¼
Openfire使ç¨JSP+JavaBeanææ¯å®ç°ç®¡ç页é¢çå¼åãWebæå¡å¨éç¨å ç½®çjettyä½webæå¡å¨ï¼å¨å¯å¨AdminConsolePluginæ件æ¶è°ç¨startup()æ¹æ³å¯å¨jettyæå¡å¨ï¼ä¸ºå ¶æ®é端å£ï¼ä¸ºå ¶å å¯ç«¯å£ã
Openfireæºç ç®å½ç»æã
1ãbuildç®å½ï¼buildç®å½ä¸æ¶å½çæ¯çæå®è£ æ件ï¼ä¾å¦ï¼rpmï¼æè¦çä¸äºæ件ï¼ä¾å¦JREçã
2ãresourcesç®å½ï¼resourcesç®å½ä¸æ¶å½çæ¯ä¸äºä¸ºå®ç°å½é åï¼inï¼åæ¬å°åçä¸äºç¼ç æ件ã
3ãdocumentationç®å½ï¼documentationç®å½ä¸æ¶å½çæ¯ä¸äºå ³äºOpenfireå®è£ åé ç½®çä¿¡æ¯ã
4ãsrcç®å½ï¼ srcæ件夹就æ¯æ们æ³è¦çOpenfireæºä»£ç ã
å®ææä½ï¼å ·ä½ä»£ç å¦ä¸ï¼ public void SendIq(IQ iq,源码openjdk 源码解析 IqCB cb, object cbArg) { undefined // check if the callback is null, in case of wrong usage of this class if (cb != null) { undefined TrackerData td = new TrackerData(); td.cb = cb; td.data = cbArg; m_grabbing[iq.Id] = td; //iqå¨agsxmppä¸åéIqèçæ¶åå iq.RemoveAttribute("to") iq.RemoveAttribute("to"); } m_connection.Send(iq); } public void SendIq2(IQ iq, IqCB cb, object cbArg) { undefined // check if the callback is null, in case of wrong usage of this class if (cb != null) { undefined TrackerData td = new TrackerData(); td.cb = cb; td.data = cbArg; m_grabbing[iq.Id] = td; //iqå¨agsxmppä¸åéIqèçæ¶åå iq.RemoveAttribute("to") //iq.RemoveAttribute("to"); } m_connection.Send(iq); }