銆?/span>絎旇呮寜姝よ鏄庣鐢ㄨ閫夐」錛屾灉鐒舵敞鍐屾垚鍔熴?/span>
榪欒鏄庡紑濮嬬殑娉ㄥ唽澶辮觸鏄拰鍖垮悕鐧誨綍鏈夊叧緋葷殑銆傛垜浠潵鐪嬩竴涓嬪紩鐢╮egistration_expmple渚嬪瓙鐧誨綍澶辮觸鏃剁殑XML嫻侊細(xì)
S->C錛氭湇鍔″櫒榪斿洖緇欏鎴風(fēng)鏀寔鐨勮璇佹満鍒訛細(xì)
<stream:features xmlns:stream='http://etherx.jabber.org/streams'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><auth xmlns='http://jabber.org/features/iq-auth'/><register xmlns='http://jabber.org/features/iq-register'/></stream:features>
浠庝笂闈ML嫻佷腑鎴戜滑鍙互鐪嬪埌錛岄粯璁penFire鏀寔鍥涚璁よ瘉鏈哄埗錛屽垎鍒槸錛欴IGEST-MD5銆丳LAIN銆丄NONYMOUS銆丆RAM-MD5銆傜劧鍚庢垜浠湅GLOOX瀹㈡埛绔殑鍝嶅簲嫻侊細(xì)
C->S錛氬鎴風(fēng)榪斿洖閫夋嫨鐨勮璇佹柟寮忥細(xì)
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='ANONYMOUS'/>
鍙互鐪嬪嚭錛屽鎴風(fēng)”鏃犺?#8220;鐨勯夋嫨浜?#8221;鍖垮悕“--'ANONYMOUS'鏂瑰紡
鎺ヤ笅鏉ョ殑嫻佺▼灝辨槸瀹㈡埛绔?#8221;鏃犺?#8220;鐨勯夋嫨浜嗕互鍖垮悕鐨勬柟寮忕櫥褰曚簡鏈嶅姟鍣紝鐒跺悗鍐嶅彂閫佹敞鍐岃姹傦紝璇鋒眰濡備笅錛?/p>
<iq id='uid:4e69eccd:00006784' type='set' from='447e0585@zxl/447e0585' xmlns='jabber:client'><query xmlns='jabber:iq:register'><username>bbaxiao</username><password>123456</password><name>test2</name><email>163@gmail.com</email></query></iq>
鎴戜滑鐪嬪埌錛孖Q鑺傞噷鍖呭惈“form”灞炴э紝鍗沖鎴風(fēng)鍖垮悕韜喚鏍囪瘑銆?/span>
娉ㄦ剰錛屼竴涓鎴風(fēng)宸茬粡浠ヤ竴涓韓浠斤紙鐢辨湇鍔″櫒涓存椂鍒嗛厤鐨勪竴涓狫ID錛夌櫥褰曪紝寤虹珛浜嗕細(xì)璇濓紝鍦ㄦ湇鍔″櫒涓婃垜浠細(xì)鐪嬪埌榪欎釜浼?xì)璇濆Q屽茍涓旀湇鍔″櫒鍙戦佸績璺充竴鐩寸淮鎶よ繖涓細(xì)璇濄傝繖縐嶆儏鍐典笅錛岃繖涓鎴風(fēng)鍐嶅彂閫佹敞鍐岃姹傦紙鍙︿竴涓韓浠斤級寤虹珛涓庢湇鍔″櫒鐨勮繛鎺ユ槸涓嶈鍏佽鐨勩傚叿浣撹鍙傝僗EP-0077錛圛n-Band Registration錛夛細(xì)鎴戜滑鍏蟲敞榪欎袱孌碉細(xì)
If the entity cancels its registration with its "home" server (i.e., the server at which it has maintained its XMPP account), then the entity SHOULD NOT include a 'from' or 'to' address in the remove request the server SHOULD then return a <not-authorized/> stream error and terminate all active sessions for the entity. The server SHOULD perform the remove based on the bare JID <localpart@domain.tld> associated with the current session or connection over which it received the remove request. If the server is an instant messaging and presence server that conforms to XMPP IM [8], the server SHOULD also cancel all existing presence subscriptions related to that entity (as stored in the entity's roster).
If the entity cancels its registration with a service other than its home server, its home server MUST stamp a 'from' address on the remove request, which in accordance with XMPP Core will be the entity's full JID <localpart@domain.tld/resource>. The service MUST perform the remove based on the bare JID <localpart@domain.tld> portion of the 'from' address.
If the entity cancels its registration with its "home" server (i.e., the server at which it has maintained its XMPP account), then the entity SHOULD NOT include a 'from' or 'to' address in the remove request the server SHOULD then return a <not-authorized/> stream error and terminate all active sessions for the entity. The server SHOULD perform the remove based on the bare JID <localpart@domain.tld> associated with the current session or connection over which it received the remove request. If the server is an instant messaging and presence server that conforms to XMPP IM [8], the server SHOULD also cancel all existing presence subscriptions related to that entity (as stored in the entity's roster).
If the entity cancels its registration with a service other than its home server, its home server MUST stamp a 'from' address on the remove request, which in accordance with XMPP Core will be the entity's full JID <localpart@domain.tld/resource>. The service MUST perform the remove based on the bare JID <localpart@domain.tld> portion of the 'from' address.
鎰忔濇槸璇存敞鍐岃姹備笉鑳藉寘鍚?#8220;from”灞炴с?/span>
姝e父鐨勬敞鍐屾祦濡備笅錛?/span>
<iq id='uid:4e69eccd:00003d6c' type='set' xmlns='jabber:client'><query xmlns='jabber:iq:register'><username>bbaxiao</username><password>123456</password><name>test2</name><email>163@gmail.com</email></query></iq>
---------------------------
緇間笂鎵榪幫紝瑙e喅鏂規(guī)濡備笅錛?/span>
涓銆佸叧闂璷penFire鐨勫尶鍚嶇櫥褰曞姛鑳姐俕_^……
浜屻佺姝LOOX鍖垮悕璁よ瘉鍔熻兘銆?/span>
file:client.cpp
fun: int Client::getSaslMechs( Tag* tag )
line:423
//灝?23琛屾敞閲婃帀鍗沖彲銆?nbsp;
422錛歩f( tag->hasChildWithCData( mech, "ANONYMOUS" ) )
423 //mechs |= SaslMechAnonymous;
閲嶆柊緙栬瘧鐢熸垚DLL鍗沖彲銆?/span>涓夈佹墜鍔ㄨ緗瓽LOOX瀹㈡埛绔疭ASL璁よ瘉鏈哄埗
鍦ㄨ皟鐢╦->connect()涔嬪墠璁劇疆SASL璁よ瘉鏈哄埗錛屾瘮濡傝緗負(fù)“DIGEST-MD5”
j->setSASLMechanisms(SaslMechDigestMd5);
榪欑鏂瑰紡鐨勭己鐐規(guī)槸闇瑕佸厛紜畾鏈嶅姟鍣ㄦ敮鎸佺殑璁よ瘉鏈哄埗銆?/span>
鍥涖佹牴鎹甔EP-0077鎵榪幫紝鍗充嬌鍏跺悕鐧誨綍錛屾敞鍐屾祦鍙涓嶅甫“from”灞炴у簲璇ヤ篃鍙互銆傛墍浠ユ垜浠澶勭悊鍙戝嚭鐨勬敞鍐屾祦錛屽幓闄?#8220;from”灞炴ч噸鏂板彂閫佹敞鍐屾祦鍗沖彲銆?/span>
鏈枃杞嚜錛?/strong>http://blog.csdn.net/abcpanpeng/article/details/7370974

]]>
精品久久一区二区三区|
久久精品国产免费观看|
国产精品18久久久久久vr|
97久久国产亚洲精品超碰热|
国产高清美女一级a毛片久久w|
久久精品国产精品亚洲下载|
欧美日韩精品久久久免费观看|
亚洲国产精品无码久久SM|
狠狠色丁香久久婷婷综合五月|
国产叼嘿久久精品久久|
99久久国产综合精品女同图片|
精品综合久久久久久97超人
|
久久综合久久久|
欧美成人免费观看久久|
久久香蕉国产线看观看99|
久久亚洲中文字幕精品一区|
中文字幕成人精品久久不卡|
国产精品va久久久久久久|
99精品国产免费久久久久久下载
|
亚洲精品成人久久久|
精品国产91久久久久久久|
欧美久久天天综合香蕉伊|
一级做a爱片久久毛片|
亚洲欧美日韩中文久久|
久久综合久久综合亚洲|
久久国产乱子伦精品免费午夜|
成人久久精品一区二区三区|
亚洲人成伊人成综合网久久久|
香蕉久久永久视频|
久久久这里有精品中文字幕|
久久青草国产手机看片福利盒子|
人妻精品久久无码区|
伊人久久综合无码成人网|
久久精品国产色蜜蜜麻豆|
亚洲国产成人精品女人久久久|
品成人欧美大片久久国产欧美|
99久久人人爽亚洲精品美女|
亚洲国产精品热久久|
精品水蜜桃久久久久久久|
88久久精品无码一区二区毛片|
亚洲国产精品一区二区久久|