銆?/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

]]>
www.久久99|
久久香综合精品久久伊人|
MM131亚洲国产美女久久|
国产一级持黄大片99久久|
亚洲国产成人久久精品影视|
国产激情久久久久影院老熟女免费|
三级韩国一区久久二区综合|
久久AV高潮AV无码AV|
精品国产91久久久久久久a|
日产精品99久久久久久|
久久久久国产视频电影|
国内精品九九久久久精品|
久久AAAA片一区二区|
久久久婷婷五月亚洲97号色|
欧美精品福利视频一区二区三区久久久精品
|
亚洲午夜精品久久久久久app|
国产精品久久久久久福利漫画|
久久人人爽人爽人人爽av|
青青草原1769久久免费播放|
久久久久波多野结衣高潮|
久久黄色视频|
久久九九久精品国产|
A级毛片无码久久精品免费|
久久久久人妻一区二区三区vr|
久久一本综合|
人妻无码久久精品|
久久久久婷婷|
怡红院日本一道日本久久|
精品综合久久久久久97超人
|
欧美一区二区三区久久综|
久久午夜免费视频|
亚洲另类欧美综合久久图片区|
久久―日本道色综合久久|
久久久久久综合一区中文字幕|
精品无码久久久久国产|
色综合久久久久无码专区|
午夜精品久久久久久久久|
久久综合香蕉国产蜜臀AV|
MM131亚洲国产美女久久|
久久91精品国产91久久小草|
69SEX久久精品国产麻豆|