锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久免费看成人影片,热re99久久精品国99热,国产成人久久777777http://www.shnenglu.com/woomsg/鍦ㄨ礬涓? zh-cnThu, 08 May 2025 08:38:06 GMTThu, 08 May 2025 08:38:06 GMT60gloox浠g爜鍒嗘瀽4 - private xml storagehttp://www.shnenglu.com/woomsg/archive/2008/11/06/66144.htmlysong.leeysong.leeThu, 06 Nov 2008 09:18:00 GMThttp://www.shnenglu.com/woomsg/archive/2008/11/06/66144.htmlhttp://www.shnenglu.com/woomsg/comments/66144.htmlhttp://www.shnenglu.com/woomsg/archive/2008/11/06/66144.html#Feedback0http://www.shnenglu.com/woomsg/comments/commentRss/66144.htmlhttp://www.shnenglu.com/woomsg/services/trackbacks/66144.html闃呰鍏ㄦ枃

ysong.lee 2008-11-06 17:18 鍙戣〃璇勮
]]>
gloox浠g爜鍒嗘瀽3 - 娉ㄥ唽妯″潡http://www.shnenglu.com/woomsg/archive/2008/11/06/66098.htmlysong.leeysong.leeThu, 06 Nov 2008 04:59:00 GMThttp://www.shnenglu.com/woomsg/archive/2008/11/06/66098.htmlhttp://www.shnenglu.com/woomsg/comments/66098.htmlhttp://www.shnenglu.com/woomsg/archive/2008/11/06/66098.html#Feedback3http://www.shnenglu.com/woomsg/comments/commentRss/66098.htmlhttp://www.shnenglu.com/woomsg/services/trackbacks/66098.html闃呰鍏ㄦ枃

ysong.lee 2008-11-06 12:59 鍙戣〃璇勮
]]>
openssl浣跨敤http://www.shnenglu.com/woomsg/archive/2008/11/03/64508.htmlysong.leeysong.leeMon, 03 Nov 2008 06:08:00 GMThttp://www.shnenglu.com/woomsg/archive/2008/11/03/64508.htmlhttp://www.shnenglu.com/woomsg/comments/64508.htmlhttp://www.shnenglu.com/woomsg/archive/2008/11/03/64508.html#Feedback1http://www.shnenglu.com/woomsg/comments/commentRss/64508.htmlhttp://www.shnenglu.com/woomsg/services/trackbacks/64508.html http://www.openssl.org/openssl 涓枃鏂囨。 -> http://www.chinaunix.net/jh/13/478901.html 2. 濡備綍緙栬瘧O...  闃呰鍏ㄦ枃

ysong.lee 2008-11-03 14:08 鍙戣〃璇勮
]]>
濡備綍鍒╃敤jabber鍗忚涓巊talk鏈嶅姟鍣ㄩ氳 - 寤虹珛浼?xì)璇?/title><link>http://www.shnenglu.com/woomsg/archive/2008/10/29/65424.html</link><dc:creator>ysong.lee</dc:creator><author>ysong.lee</author><pubDate>Tue, 28 Oct 2008 16:29:00 GMT</pubDate><guid>http://www.shnenglu.com/woomsg/archive/2008/10/29/65424.html</guid><wfw:comment>http://www.shnenglu.com/woomsg/comments/65424.html</wfw:comment><comments>http://www.shnenglu.com/woomsg/archive/2008/10/29/65424.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/woomsg/comments/commentRss/65424.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/woomsg/services/trackbacks/65424.html</trackback:ping><description><![CDATA[ 瀹㈡埛绔笌gtalk server寤虹珛浼?xì)璇濈殑杩嚱E嬪涓?榛樿涓棿娌℃湁閿欒鍙戠敓):<br><br>1. ( C->S ) 榪炴帴鍒版湇鍔″櫒, 鍙戦?hello'淇℃伅.<br><stream:stream to="gmail.com" version="1.0" xmlns:stream="<a xmlns="jabber:client"><br><br>2. ( S->C ) 鏈嶅姟鍣ㄥ洖搴?hello'淇℃伅<br><?xml version="1.0" encoding="UTF-8"?><br><stream:stream from="gmail.com" id="A9D1B4DB24EA879C" version="1.0" xmlns:stream="<a xmlns="jabber:client"><br><br>3. ( S->C ) 鏈嶅姟鍣ㄨ姹俆LS, SASL<br> <stream:features><br>  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><br>  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><br>    <mechanism>X-GOOGLE-TOKEN</mechanism><br>  </mechanisms><br></stream:features><br><br>4. ( C->S ) 寮濮婽LS<br><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><br><br>5. ( S->C ) 鏈嶅姟鍣ㄥ厑璁哥戶緇璗LS<br><proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><br><br>6. ( C->S ) TLS鎻℃墜<br>瀹㈡埛绔悜鏈嶅姟鍣ㄥ彂璧稵LS鎻℃墜璇鋒眰, 濡傛灉鎻℃墜鎴愬姛, 鎵ц#7 (鍙互浣跨敤openssl瀹炵幇TLS鐨勬彙鎵嬪姛鑳?<br><br>7. ( C->S ) TLS鎻℃墜緇撴潫鍚? 鍙戦佹柊鐨?hello'娑堟伅<br><stream:stream to="gmail.com" version="1.0" xmlns:stream="<a xmlns="jabber:client"><br><br>8. ( S->C ) 鏈嶅姟鍣ㄥ洖搴?hello'娑堟伅<br><?xml version="1.0" encoding="UTF-8"?><br><stream:stream from="gmail.com" id="D38877BD862E0EE4" version="1.0" xmlns:stream="<a xmlns="jabber:client"><br><br>9. ( S->C ) 鏈嶅姟鍣ㄨ姹係ASL<br><stream:features><br>  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><br>    <mechanism>PLAIN</mechanism><br>    <mechanism>X-GOOGLE-TOKEN</mechanism><br>  </mechanisms><br></stream:features><br><br>10. ( C->S ) 瀹㈡埛绔墽琛孲ASL<br><auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN"><br>  AHlzb25nLmxlZUBnbWFpbC5jb20AeXNvbmdAMTk4NA==<br></auth><br><br>auth鐨刢data鐨勬牸寮?'\0'+username+'\0'+password 鐨刡ase64緙栫爜, username鍜宲assword蹇呴』鏄粡榪囪璇佺殑.<br>渚嬪:<br>'\0' + <a href="mailto:'ysong.lee@gmail.com'">'ysong.lee@gmail.com'</a> + '\0' + 123456 -> 緇忚繃base64緙栫爜澶勭悊鍚庡彉涓篶data<br><br>11. ( S->C ) SASL鎴愬姛<br><success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/><br><br>12. ( C->S ) 瀹㈡埛绔彂閫佹柊鐨?hello'娑堟伅<br><stream:stream to="gmail.com" version="1.0" xmlns:stream="<a xmlns="jabber:client"><br><br>13. ( S->C ) 鏈嶅姟鍣ㄥ洖搴?hello'娑堟伅<br><?xml version="1.0" encoding="UTF-8"?><br><stream:stream from="gmail.com" id="00035A2B998BF4B9" version="1.0" xmlns:stream="<a xmlns="jabber:client"><br><br>14. ( S->C ) 鏈嶅姟鍣ㄨ姹傜粦瀹氳祫婧愬拰寤虹珛涓涓細(xì)璇?br><stream:features><br>  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><br>  <session xmlns="urn:ietf:params:xml:ns:xmpp-session"/><br></stream:features><br><br>15. ( C->S ) 瀹㈡埛绔粦瀹氱敵璇蜂竴涓祫婧?br><iq type="set" id="1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></iq><br><br>16. ( S->C ) 鏈嶅姟鍣ㄨ繑鍥炵粦瀹氳祫婧愮殑緇撴灉<br><iq id="1" type="result"><br>  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><br>    <jid>ysong.lee@gmail.com/BC20B630</jid><br>  </bind><br></iq><br><br>17. ( C->S ) 瀹㈡埛绔敵璇峰緩绔嬩細(xì)璇?br><iq type="set" id="2"><br>  <session xmlns="urn:ietf:params:xml:ns:xmpp-session"/><br></iq><br><br>18. ( S->C ) 鏈嶅姟鍣ㄨ繑鍥炲緩绔嬩細(xì)璇濇垚鍔?br><iq type="result" id="2"/><br><br><br>鍒版, Client鍜孏talk server鐨勪竴涓細(xì)璇濆凡緇忓緩绔? 鍙互鏍規(guī)嵁jabber鍗忚榪涜鍏跺畠鎿嶄綔. 璇鋒眰鑱旂郴浜哄垪琛? 鍙戞秷鎭瓑.<br><br><br> <img src ="http://www.shnenglu.com/woomsg/aggbug/65424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/woomsg/" target="_blank">ysong.lee</a> 2008-10-29 00:29 <a href="http://www.shnenglu.com/woomsg/archive/2008/10/29/65424.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>openssl浣跨敤(琛?http://www.shnenglu.com/woomsg/archive/2008/10/22/64626.htmlysong.leeysong.leeWed, 22 Oct 2008 02:48:00 GMThttp://www.shnenglu.com/woomsg/archive/2008/10/22/64626.htmlhttp://www.shnenglu.com/woomsg/comments/64626.htmlhttp://www.shnenglu.com/woomsg/archive/2008/10/22/64626.html#Feedback10http://www.shnenglu.com/woomsg/comments/commentRss/64626.htmlhttp://www.shnenglu.com/woomsg/services/trackbacks/64626.html闃呰鍏ㄦ枃

ysong.lee 2008-10-22 10:48 鍙戣〃璇勮
]]>
gloox浠g爜鍒嗘瀽2 - xml parser妯″潡http://www.shnenglu.com/woomsg/archive/2008/10/18/64296.htmlysong.leeysong.leeSat, 18 Oct 2008 06:51:00 GMThttp://www.shnenglu.com/woomsg/archive/2008/10/18/64296.htmlhttp://www.shnenglu.com/woomsg/comments/64296.htmlhttp://www.shnenglu.com/woomsg/archive/2008/10/18/64296.html#Feedback0http://www.shnenglu.com/woomsg/comments/commentRss/64296.htmlhttp://www.shnenglu.com/woomsg/services/trackbacks/64296.html涓昏娑夊強(qiáng)鐨勬枃浠?
tag.h (tag.cpp)
taghandler.h
parser.h (parser.cpp)

1. Tag涓涓猅ag灝辨槸涓涓猉ML鍏冪礌
渚嬪:
a.
<book kind='computer'>
  <store id='23'/>
  <author>
    qiang
  </author>
</book>
b. <book id='32'/>
c. <book>name1</book>

棣栧厛浠嬬粛涓涓蹇? escape-string錛屼綍涓篹scape-string?
鍦╡scape-string涓?
 '&'杞崲鎴?amp;amp;, '<'杞崲鎴?amp;lt;, '>'杞崲鎴?amp;gt;.
緙栫爜琛ㄥ涓?
//////////////////////////////////////////////////////////////////////////
// 緙栫爜琛?錛堜腑闂寸殑絀烘牸鍘繪帀錛岃繖閲屽彧鏄負(fù)浜?jiǎn)鏂逛究鏄窘C猴級(jí):
// -------------------------------------------------------
// | 瀛楃     | 鍗佽繘鍒?| 鍗佸叚榪涘埗 | THML瀛楃闆?| Unicode |
// -------------------------------------------------------
// | " 鍙屽紩鍙?| & # 34;  | & # x22;   | "          | \u0022  |
// -------------------------------------------------------
// | ' 鍗曞紩鍙?| & # 39;  | & # x27;   | & apos;     | \u0027  |
// -------------------------------------------------------
// | & 涓?nbsp;    | & # 38;  | & # x26;   | & amp;      | \u0026  |
// -------------------------------------------------------
// | < 灝忎簬鍙?| & # 60;  | & # x3C;   | & lt;       | \u003c  |
// -------------------------------------------------------
// | > 澶т簬濂?| & # 62;  | & # x3E;   | & gt;       | \u003e  |
// -------------------------------------------------------
gloox - APIs
Tag::escape()    鍔熻兘: string -> escape-string
Tag::relax()  鍔熻兘: escape-string -> string

涓昏鎴愬憳鍙橀噺:
attributes - 鎵鏈夊睘鎬х殑list
name - 鑺傜偣鍚嶅瓧
cdata - 鑺傜偣鏁版嵁錛屼緥濡?lt;name>cdata</name>涓殑cdata
children - 鎵鏈夌殑瀛愯妭鐐?br>parent - 鐖惰妭鐐規(guī)寚閽堬紝濡傛灉娌℃湁鍒欎負(fù)絀?br>bool incoming - 琛ㄧず鏋勯爔ml node鐨勬椂鍊欎紶鍏ョ殑瀛楃涓叉槸鍚︽槸escape-string錛屽鏋滄槸錛岄渶瑕佸湪鏋勯犵殑鏃跺欒皟鐢╮elex鎶奺scape-string杞崲鎴恠tring.

涓昏鏂規(guī)硶:
涔熷氨鏄竴浜涢拡瀵筺ame\children\attributes\cdata榪涜澧炲姞\鍒犻櫎\淇敼鐨勬柟娉?
xml()鏂規(guī)硶榪斿洖璇ヨ妭鐐圭殑涓涓畬鏁寸殑xml鏁版嵁嫻?br>findTag鍜宖indTagList鎻愪緵瀵筙Path鐨勬敮鎸?

渚嬪:
灞忓箷灝嗚緭鍑?
<book kind='computer'><store id='23'/><author>qiang</author></book>
 1#include <iostream>
 2#include "tag.h"
 3
 4#pragma comment( lib, "gloox.lib" )
 5using namespace gloox;
 6
 7// <book kind='computer'>
 8//   <store id='23'/>
 9//   <author>
10//     qiang
11//   </author>
12// </book>
13//
14
15
16int main( int argc, char* argv[] ) {
17  Tag* tag_book = new Tag( "book");
18  tag_book->addAttribute( "kind""computer" );
19  
20  Tag* tag_store = new Tag( "store" );
21  tag_store->addAttribute( "id""32" );
22
23  Tag* tag_author = new Tag( "author""qiang" );
24
25  tag_book->addChild( tag_store );
26  tag_book->addChild( tag_author );
27
28  std::cout<<tag_book->xml()<<std::endl;
29  return 0;
30}

2. TagHandler鏄竴涓帴鏀秔arser瑙f瀽瀹屾垚鐨則ag鐨勬帴鍙o紝緇ф壙璇ョ被錛屽垯鍙互鎺ユ敹parser瑙f瀽鐨則ag瀵硅薄浜嬩歡.
鍙湁涓涓帴鍙?br>virtual void handleTag( Tag *tag ) = 0 - 鎺ユ敹瑙f瀽瀹岀殑tag

3. Parser涓涓猉ML瑙f瀽鍣?br>鎻愪緵鐨勬帴鍙i潪甯哥畝媧侊紝鍙渶瑕佷竴涓猅agHandler鏉ユ瀯閫狅紝璇andler鎺ユ敹騫跺鐞嗚В鏋愮殑tag錛屽彟澶栧彧鏈変竴涓猣eed鎺ュ彛鏉ュ~鍏呮暟鎹?
瑕佹敞鎰忕殑鏄痜eed鎺ュ彛濉厖鐨勬暟鎹繀欏繪槸涓涓牸寮忔紜殑xml錛屽惁鍒欐棤娉曡В鏋愶紝涔熷氨鏄parser涓嶄細(xì)鍒ゆ柇xml鐨勬牸寮忋?br>
渚嬪:
涓嬮潰鐨勪緥瀛愪腑瀵筬eed鏉ヨ鍒嗗紑濉厖鍜屼竴嬈℃у~鍏呮暟鎹殑鏁堟灉鏄竴鏍風(fēng)殑錛屼篃灝辨槸scenario1鍜宻cenario2鐨勬晥鏋滄槸涓鏍風(fēng)殑錛岃繖涔熷垰濂藉拰涓婂眰搴旂敤涓璗CP 嫻佸鐞嗙殑鏂瑰紡緇熶竴錛屽浜庢帴鏀跺埌鏈嶅姟鍣ㄧ鐨刋ML嫻侊紝鏃犺鏄惁瀹屾暣錛屽彧闇瑕佺洿鎺eed灝卞彲浠ヤ簡(jiǎn)銆俬andlerTag鏂規(guī)硶灝嗘敹鍒頒袱涓?br>xml tag瑙f瀽瀹屾垚鐨勪簨浠訛紝鍒嗗埆鏉ヨ嚜scenario1鍜宻cenario2錛屽睆騫曞皢杈撳嚭:
<book kind='computer'><store id='23'/><author>qiang</author></book> 
<book kind='computer'><store id='23'/><author>qiang</author></book>
 1#include <iostream>
 2#include "tag.h"
 3#include "parser.h"
 4
 5#pragma comment( lib, "gloox.lib" )
 6using namespace gloox;
 7
 8// <book kind='computer'>
 9//   <store id='23'/>
10//   <author>
11//     qiang
12//   </author>
13// </book>
14//
15//
16
17class TagHandlerImpl : public TagHandler {
18public:
19    ~TagHandlerImpl() {}
20
21    void run() {
22      Parser* parser = new Parser(this);
23      // scenario1
24      std::string data = "<book kind='computer'><store id='23'/><author>qiang</author></book>";
25      parser->feed( data );
26
27      // scenario2
28      std::string data1 = "<book kind='computer";
29      std::string data2 = "'><store id='23'/><auth";
30      std::string data3 = "or>qiang</author></book>";
31      parser->feed( data1 );
32      parser->feed( data2 );
33      parser->feed( data3 );
34    }

35
36    void handleTag( Tag *tag ) {
37      std::cout<<tag->xml()<<std::endl;
38    }

39}
;
40
41int main( int argc, char* argv[] ) {
42  TagHandlerImpl* taghandlerImpl = new TagHandlerImpl();
43  taghandlerImpl->run();
44
45  return 0;
46}




ysong.lee 2008-10-18 14:51 鍙戣〃璇勮
]]>
gloox浠g爜鍒嗘瀽1 - connect妯″潡http://www.shnenglu.com/woomsg/archive/2008/10/17/64260.htmlysong.leeysong.leeFri, 17 Oct 2008 13:20:00 GMThttp://www.shnenglu.com/woomsg/archive/2008/10/17/64260.htmlhttp://www.shnenglu.com/woomsg/comments/64260.htmlhttp://www.shnenglu.com/woomsg/archive/2008/10/17/64260.html#Feedback0http://www.shnenglu.com/woomsg/comments/commentRss/64260.htmlhttp://www.shnenglu.com/woomsg/services/trackbacks/64260.htmlconnectionbase.h
connectiondatahander.h
connectionhandler.h
connectiontcpbase.h (connectiontcpbase.cpp)
connectiontcpclient.h (connectiontcpclient.cpp)
connectiontcpserver.h (connectiontcpserver.cpp)

1. ConnectionBase鎶借薄榪炴帴綾伙紝琛ㄧず涓涓猻ocket榪炴帴銆?/strong>
3涓暟鎹垚鍛?
server鍜宨p - 闇瑕佽繛鎺ュ埌鐨勭洰鏍囧湴鍧鍜岀鍙?鍦–onnectionTcpServer鏄緇戝畾鐨勬湰鍦板湴鍧)
connectionState - 榪炴帴鐨勫綋鍓嶇姸鎬?(涓涓笁縐嶇姸鎬乨isconnected | connecting | connected)
connectionDataHandler - 澶勭悊涓夌被ConnectionBase涓殑涓夌被浜嬩歡 ( 鏁版嵁鎺ユ敹 | 榪炴帴寤虹珛 | 榪炴帴鏂紑 )
5涓富瑕佹柟娉?
connect - 寤虹珛涓涓猻ocket榪炴帴
disconnect - 鏂紑涓涓猻ocket榪炴帴
send - 鍙戦佹暟鎹紝璇ユ柟娉曠洿鍒拌鍙戦佺殑鏁版嵁鍏ㄩ儴鍙戦佸畬姣曟墠榪斿洖
recv( int timeout ) - 鎺ユ敹鏁版嵁錛屾帴鏀跺埌鏁版嵁鎴栬卼imeout榪斿洖
receive - 鎶奵onnection璁劇疆鎴?鎺ユ敹妯″紡"錛屼篃灝辨槸寰幆鐨勮皟鐢╮ecv鎺ユ敹鏁版嵁錛岀洿鍒拌繛鎺ユ柇寮璇ユ柟娉曡繑鍥烇紝
               璇ユ柟娉曚繚璇佽繖涓繛鎺ュ彲浠ュ驚鐜殑鎺ユ敹鏁版嵁.

娉ㄦ剰: recv鍜宺eceive鐨勫尯鍒?br>

2. ConnectionDataHandler澶勭悊緇ф壙鑷狢onnectionBase鐨勫璞$殑浜嬩歡
handlerReceivedData - 鎺ユ敹鍒版暟鎹?br>handlerConnect - 涓涓師濮嬬殑濂楁帴瀛楄繛鎺ュ緩绔?br>handlerDisconnect - 涓涓師濮嬬殑濂楁帴瀛楄繛鎺ユ柇寮

3. ConnectionTcpBase涓涓熀鏈殑TCP榪炴帴錛岀戶鎵胯嚜ConnectionBase
鏁版嵁鎴愬憳
bool cancel - 琛ㄧず榪炴帴鏄惁搴旇鏂紑錛岄粯璁や負(fù)true. (true琛ㄧず榪炴帴鏂紑)
                     鍑芥暟disconnect涔熷氨鏄粎浠呰緗甤ancel涓簍rue.
                     鍦ㄥ嚱鏁皉eceive寰幆鎺ユ敹鏁版嵁鐨勯昏緫涓細(xì)媯(gè)嫻媍ancel錛屽鏋滀負(fù)true錛屽垯琛ㄧず榪炴帴鏂紑錛屽垯榪斿洖錛岄鍑?鎺ユ敹妯″紡"
int bufSize - buf鐨勫ぇ灝忥紝榛樿鏄?024
char* buf - 緙撳啿鍖猴紝澶у皬浜媌ufSize + 1 (鍦–onnectionTcpBase涓茍娌℃湁鐢ㄥ埌榪欎釜緙撳啿鍖猴紝渚涗笂灞備嬌鐢‥.g. ConnectionTcpClient鐨剅ecv鏉ユ帴鏀舵暟鎹?

瀹炵幇鐨勪富瑕佹柟娉?
send - 鍙戦佹暟鎹?br>receive - "寰幆"鎺ユ敹鏁版嵁
dataAvailable( int timeout ) - 涓涓鏈夋柟娉曪紝浣滅敤鏄祴璇晄ocket涓婄洰鍓嶆槸鍚︽湁鏁版嵁鍙錛屽鏋滄湁榪斿洖true. 鍙互渚況ecv璋冪敤. 閬垮厤浜?jiǎn)闃诲鐨勮皟鐢ㄥ師濮嬪鎺ュ瓧鏂规?:receive鎴栬?:accept.

4. ConnectionTcpClient瀹炵幇涓涓熀鏈殑TCP榪炴帴錛岀戶鎵胯嚜ConnectionTcpBase
瀹炵幇鐨勪富瑕佹柟娉?br>connect - 榪炴帴鍒扮洰鏍囧湴鍧錛屽鏋滄垚鍔燂紝鍒欒皟鐢╤andler->handlerConnect錛屽け璐ュ垯璋冪敤handler->handlerDisconnect
recv - 鎺ユ敹鏁版嵁錛屽鏋滄帴鏀跺埌鏁版嵁錛岄┈涓婅皟鐢╤andler->handlerReceiveData錛屾帴鏀跺彂鐢熼敊璇紝琛ㄧず榪炴帴鏂紑錛岃皟鐢╤andler->handlerDisconnect

5. ConnectionHandler涓涓娊璞$被錛岀敤鏉ユ帴鏀朵竴涓鎴風(fēng)榪炴帴鐨勮姹傦紝璇ョ被鐢ㄤ簬ConnectionTcpServer
鍙湁涓涓帴鍙?
handleIncomingConnection( ConnectionBase *connect ) - &connect琛ㄧず鏂板緩绔嬬殑榪炴帴璇鋒眰錛屽摢鍘熷鐨剆ocket鍋氱被姣旂浉褰撲簬accept榪斿洖鐨剆ocket.

娉ㄦ剰: 鍖哄埆浜嶤onnectionDataHandler鐢ㄤ簬澶勭悊涓涓壒瀹氳繛鎺ョ殑涓殑浜嬩歡(鏁版嵁鍒版潵錛岃繛鎺ユ柇寮錛岃繛鎺ュ緩绔?錛孋onnectionListener鐢ㄤ簬XMPP Stream.

6. ConnectionTcpServer錛屽疄璐ㄤ笂灝辨槸涓涓睛鍚瑂ocket錛屽悓鍘熷鐨剆ocket鍋氱被姣斿氨鏄竴涓皟鐢ㄤ簡(jiǎn)bind/listen涔嬪悗澶勪簬渚﹀惉鐘舵佺殑socket.
涓昏鏁版嵁鎴愬憳:
connectionHandler - 鎺ユ敹鏂板埌鏉ョ殑榪炴帴錛屾帴鏀跺埌涔嬪悗璋冪敤handlerIncomingConnection
涓昏鏂規(guī)硶:
connect - 寤虹珛濂楁帴瀛楋紝緇戝畾鍒版湰鍦板湴鍧錛屼睛鍚琤ind/listen
recv - 璋冪敤accept鎺ユ敹涓涓猻ocket榪炴帴錛屽鏋滄垚鍔燂紝鍒欑敤accpet榪斿洖鐨剆ocket鍒涘緩涓涓狢onnectionTCPClient錛岃皟鐢╤andlerIncomingConnection鏉ュ鐞嗘柊榪涚殑榪炴帴.

鎬葷粨:
ConnectionTcpServer鍜孋onnectionTcpClient鐨勫尯鍒?
connect (client) - 榪炴帴鍒版湇鍔″櫒錛屼嬌connection澶勪簬鍙互鎺ユ敹鏁版嵁鐨勭姸鎬?br>connect(server) - 緇戝畾鍒版湰鍦板湴鍧錛屼睛鍚紝浣縞onnection澶勪簬鍙互鎺ユ敹鏂拌繛鎺ョ殑鐘舵?accept)

recv(client) - 鎺ユ敹鏁版嵁錛岃皟鐢╟onnectionDataHandler->handlerReceivedData
recv(server) - 鎺ユ敹鏂拌繛鎺ワ紝璋冪敤connectionHandler->handlerIncomingConnection

receive(Client) - 鎺ユ敹鏁版嵁鐘舵侊紝寰幆鎺ユ敹鏁版嵁錛岃皟鐢╠isconnect鏃墮鍑?br>receive(Server) - 鎺ユ敹榪炴帴鐘舵侊紝寰幆鎺ユ敹榪炴帴錛岃皟鐢╠isconnect鏃墮鍑?

鎵浠onnectionTcpClient鏈夊彂閫佹暟鎹拰寰幆鎺ユ敹鏁版嵁鐨勮兘鍔涳紝ConnectionTcpServer鏈変睛鍚鎴風(fēng)榪炴帴鐨勮兘鍔涖傚綋鏈夌壒瀹氱殑浜嬩歡鍙戠敓鐨勬椂鍊欙紝浼?xì)鑷姩瑙﹀彂鐩稿叧鐨刪andler鏉ヨ繘琛屽鐞嗭紝濡傛暟鎹埌鏉ワ紝榪炴帴寤虹珛\鏂紑錛屾柊榪炴帴鍒版潵絳夌瓑銆?br>
闂:
榪欑璁捐妯″紡浣縭eceive澶勪簬涓涓棤闄愮殑while寰幆錛屼笉鏂殑璋冪敤select+accpet鎴栬卻elect+receive錛屾槸鍚﹀埄浜巗end涔嬬被鐨勬柟娉曞湪鍚屼竴涓猻ocket涓婂彂閫佹暟鎹?
                                         


ysong.lee 2008-10-17 21:20 鍙戣〃璇勮
]]>
濡備綍鍦╳indows緙栬瘧glooxhttp://www.shnenglu.com/woomsg/archive/2008/10/16/64200.htmlysong.leeysong.leeThu, 16 Oct 2008 12:42:00 GMThttp://www.shnenglu.com/woomsg/archive/2008/10/16/64200.htmlhttp://www.shnenglu.com/woomsg/comments/64200.htmlhttp://www.shnenglu.com/woomsg/archive/2008/10/16/64200.html#Feedback0http://www.shnenglu.com/woomsg/comments/commentRss/64200.htmlhttp://www.shnenglu.com/woomsg/services/trackbacks/64200.html "gloox - 0.9.9.5" + "Windows Server 2008" + "VC++ 2008"

2. config.h.win
HAVE_WINTLS
HAVE_WINDNS_H
HAVE_SETSOCKOPT

榛樿緙栬瘧鐨勬椂鍊欏嚭閿?
dns.obj : error LNK2019: unresolved external symbol _DnsFree@8 referenced in function "public: static class std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,int> > > __cdecl gloox::DNS::resolve(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class gloox::LogSink const &)" (?resolve@DNS@gloox@@SA?AV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@std@@@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@00ABVLogSink@2@@Z)
dns.obj : error LNK2019: unresolved external symbol _DnsQuery_A@24 referenced in function "public: static class std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,int> > > __cdecl gloox::DNS::resolve(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class gloox::LogSink const &)" (?resolve@DNS@gloox@@SA?AV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@std@@@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@00ABVLogSink@2@@Z)
tlsschannel.obj : error LNK2019: unresolved external symbol _EncryptMessage@16 referenced in function "public: virtual bool __thiscall gloox::SChannel::encrypt(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?encrypt@SChannel@gloox@@UAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
tlsschannel.obj : error LNK2019: unresolved external symbol _DecryptMessage@16 referenced in function "public: virtual int __thiscall gloox::SChannel::decrypt(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?decrypt@SChannel@gloox@@UAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
tlsschannel.obj : error LNK2019: unresolved external symbol __imp__FreeCredentialsHandle@4 referenced in function "public: virtual void __thiscall gloox::SChannel::cleanup(void)" (?cleanup@SChannel@gloox@@UAEXXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol __imp__DeleteSecurityContext@4 referenced in function "public: virtual void __thiscall gloox::SChannel::cleanup(void)" (?cleanup@SChannel@gloox@@UAEXXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol _FreeContextBuffer@4 referenced in function "public: virtual bool __thiscall gloox::SChannel::handshake(void)" (?handshake@SChannel@gloox@@UAE_NXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol _InitializeSecurityContextA@48 referenced in function "public: virtual bool __thiscall gloox::SChannel::handshake(void)" (?handshake@SChannel@gloox@@UAE_NXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol _AcquireCredentialsHandleA@36 referenced in function "public: virtual bool __thiscall gloox::SChannel::handshake(void)" (?handshake@SChannel@gloox@@UAE_NXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol _QueryContextAttributesA@12 referenced in function "private: void __thiscall gloox::SChannel::setSizes(void)" (?setSizes@SChannel@gloox@@AAEXXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol __imp__CertFreeCertificateChain@4 referenced in function "private: void __thiscall gloox::SChannel::validateCert(void)" (?validateCert@SChannel@gloox@@AAEXXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol __imp__CertVerifyCertificateChainPolicy@16 referenced in function "private: void __thiscall gloox::SChannel::validateCert(void)" (?validateCert@SChannel@gloox@@AAEXXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol __imp__CertGetCertificateChain@32 referenced in function "private: void __thiscall gloox::SChannel::validateCert(void)" (?validateCert@SChannel@gloox@@AAEXXZ)
tlsschannel.obj : error LNK2019: unresolved external symbol __imp__CertNameToStrA@20 referenced in function "private: void __thiscall gloox::SChannel::certData(void)" (?certData@SChannel@gloox@@AAEXXZ)

3. 鍔犲叆闇瑕佺殑lib, 緙栬瘧鎴愬姛
ws2_32.lib Dnsapi.lib Secur32.lib Crypt32.lib

ysong.lee 2008-10-16 20:42 鍙戣〃璇勮
]]>
伊人丁香狠狠色综合久久| 久久91精品综合国产首页| 欧美亚洲另类久久综合婷婷| 久久久国产精品| 久久久久精品国产亚洲AV无码| 久久影院久久香蕉国产线看观看| 亚洲成av人片不卡无码久久| 久久天天躁狠狠躁夜夜躁2014| 色婷婷综合久久久久中文| 国产精品久久久久影院嫩草| AAA级久久久精品无码区| 久久久久国产视频电影| 热re99久久精品国99热| 精品水蜜桃久久久久久久| 亚洲综合熟女久久久30p| 国产精品无码久久久久| 欧美黑人又粗又大久久久| 久久综合色之久久综合| 久久精品国产亚洲77777| 欧美国产精品久久高清| 精品综合久久久久久97超人 | 无码人妻精品一区二区三区久久久| aaa级精品久久久国产片| 国产69精品久久久久9999APGF | 9191精品国产免费久久| 久久强奷乱码老熟女网站| 国产免费久久精品99久久| 国产成年无码久久久久毛片| 中文字幕精品久久| 久久久久国产亚洲AV麻豆| 国产精品久久久久久久久鸭| 久久夜色精品国产噜噜麻豆 | 久久精品国产亚洲Aⅴ香蕉| .精品久久久麻豆国产精品| 欧美国产成人久久精品| 久久久青草青青国产亚洲免观| 久久天天躁狠狠躁夜夜96流白浆| 国产亚洲精品久久久久秋霞| 欧美日韩久久中文字幕| 久久笫一福利免费导航 | 国产精品久久久久久搜索|