锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产亚洲激情视频在线,久久久精品日韩欧美,免费成人高清http://m.shnenglu.com/twzheng/category/4033.html銆庣珯鍦ㄩ鍙f氮灝栫揣鎻′綇榧犳爣鏃嬭漿錛併? 浜哄湪鍙板寳蹇冨湪姹?/description>zh-cnMon, 15 Mar 2010 04:03:22 GMTMon, 15 Mar 2010 04:03:22 GMT60姹倃indows xp 綣佷綋鐗?/title><link>http://m.shnenglu.com/twzheng/articles/109710.html</link><dc:creator>璋枃鏀?/dc:creator><author>璋枃鏀?/author><pubDate>Sun, 14 Mar 2010 16:05:00 GMT</pubDate><guid>http://m.shnenglu.com/twzheng/articles/109710.html</guid><wfw:comment>http://m.shnenglu.com/twzheng/comments/109710.html</wfw:comment><comments>http://m.shnenglu.com/twzheng/articles/109710.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/twzheng/comments/commentRss/109710.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/twzheng/services/trackbacks/109710.html</trackback:ping><description><![CDATA[姹倃indows xp 綣佷綋鐗堬紝鏈濂芥槸鍙版咕鐗堢殑錛岃鑳戒竴姝ユ鐨勬墜鍔ㄥ畨瑁?鎯寵鍙岀郴緇?<br><br>鎵句簡濂藉嚑澶╀簡錛屽緢澶氳祫婧愰兘涓嬩笉鍔?br><br>浠婂ぉ濂戒笉瀹規槗涓嬩簡涓涓紝浣嗘槸棣欐腐鐗堢殑錛屼笖瀹夎鍒伴夋嫨鐩樼鏃訛紝閿洏鎵鏈夐敭閮戒笉鑳戒嬌鐢紝鎵浠ヨ繕鏄棤娉曞畨瑁?br><br>璋㈣阿鍚勪綅澶у摜澶у甯府蹇欙紝灝忓紵鎰熸縺涓嶅敖錛?img src ="http://m.shnenglu.com/twzheng/aggbug/109710.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/twzheng/" target="_blank">璋枃鏀?/a> 2010-03-15 00:05 <a href="http://m.shnenglu.com/twzheng/articles/109710.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ESFramework浠嬬粛涔嬶紙12錛夆曗?鍩轟簬Tcp榪炴帴姹犵殑娑堟伅澶勭悊鍣?http://m.shnenglu.com/twzheng/articles/21897.html璋枃鏀?/dc:creator>璋枃鏀?/author>Sat, 14 Apr 2007 14:38:00 GMThttp://m.shnenglu.com/twzheng/articles/21897.htmlhttp://m.shnenglu.com/twzheng/comments/21897.htmlhttp://m.shnenglu.com/twzheng/articles/21897.html#Feedback0http://m.shnenglu.com/twzheng/comments/commentRss/21897.htmlhttp://m.shnenglu.com/twzheng/services/trackbacks/21897.htmlhttp://zhuweisky.cnblogs.com/archive/2006/03/17/351925.html

鍓嶉潰鐨勪袱綃囨枃绔犳垜浠凡緇忎粙緇嶄簡Tcp榪炴帴姹犲拰Tcp榪炴帴姹犵鐞嗗櫒錛屽茍涓斿紩鍏ヤ簡ITcpPool鎺ュ彛錛岃繖涓帴鍙e彲浠ュ皢鍗曚釜榪炴帴姹犲拰涓緇勮繛鎺ユ睜緇熶竴璧鋒潵錛屼嬌瀹冧滑鏈夌浉鍚岀殑澶栭儴浣跨敤鏂瑰紡銆傜幇鍦ㄦ垜浠渶瑕佽冭檻鐨勯棶棰樻槸錛屽綋娑堟伅鍒嗘淳鍣ㄥ垎媧句竴涓帴鏀跺埌鐨勮姹傛椂錛屽鏋滆繖涓姹傞渶瑕佽FS涓婄殑鏌愪釜鍔熻兘鎻掍歡澶勭悊錛岄偅涔堟秷鎭垎媧懼櫒鏄浣曞皢榪欎釜娑堟伅鍒嗘淳鍒板搴旂殑FS涓婂幓鐨勶紵 

    鍥為【浠嬬粛娑堟伅鍒嗘淳鍣?/font>鏃剁敾鍑虹殑鍚勬秷鎭粍浠惰仈緋誨浘錛屾垜浠潪甯歌嚜鐒剁殑鎯沖埌錛屽垱寤轟竴涓秷鎭鐞嗗櫒錛岃繖涓秷鎭鐞嗗櫒灝嗚姹傛秷鎭氳繃Tcp榪炴帴姹犺漿鍙戠粰瀵瑰簲FS澶勭悊銆傝繖鏍風殑涓涓秷鎭鐞嗗櫒縐頒負“鍩轟簬Tcp榪炴帴姹犵殑娑堟伅澶勭悊鍣?#8221;錛屽畠鍦ㄦ秷鎭粍浠惰仈緋誨浘涓殑浣嶇疆濡備笅錛?br>  
    褰撴湁涓涓姹傝鍒嗘淳鍒板熀浜庤繛鎺ユ睜鐨勬秷鎭鐞嗗櫒鏃訛紝瀹冨氨浠嶵cp榪炴帴姹犱腑Rent涓涓狽etworkStream錛岀劧鍚庡彂閫佽姹傦紝騫跺皢鎺ユ敹鍒扮殑鍥炲榪斿洖緇欐秷鎭垎媧懼櫒銆傚熀浜庤繛鎺ユ睜鐨勬秷鎭鐞嗗櫒浠嶇劧瀹炵幇浜咺DataDealer鎺ュ彛錛屽叾鍊熷姪ITcpPool緇勪歡鏉ュ疄鐜板姛鑳姐備笅闈㈢粰鍑虹畝鍗曚吉鐮侊紝鍥犱負鏁翠釜瀹炵幇姣旇緝澶嶆潅錛堥敊璇鐞嗐佸紓甯稿鐞嗐丷eRent鏈哄埗絳夛級錛屼唬鐮佹瘮杈冨錛屾墍浠ュ氨涓嶅垪鍑烘潵浜嗭紝澶у鍙浜嗚В浜嗕富瑕佺殑鎬濇兂灝辮浜嗭紝鑰岃繖涓濇兂鏄瘮杈冪畝鍗曠殑銆?
       public NetMessage DealRequestMessage(NetMessage reqMsg)
        {
            
/*
             1.Rent TcpStream
             2.Send Request
             3.Recieve Response
             4.Return Response
             
*/ 
        }

    鏈鍚庢彁涓鍙ワ紝鎴戜滑鍦ㄤ笂鍥劇殑AS鍜孎S涓兘鐪嬪埌浜嗙綉緇滅粍浠訛紝濡傛灉AS涔熼噰鐢═cp錛岄偅涔堣繖涓や釜緇勪歡鏄浉鍚岀殑錛屼篃灝辨槸璇碩cp緇勪歡鍙互寰堟柟渚跨殑澶嶇敤銆?nbsp;
   
    鍦‵S涓紝Tcp緗戠粶緇勪歡鍜屽姛鑳芥彃浠朵箣闂存槸閫氳繃铏氱嚎榪炴帴璧鋒潵鐨勶紝涔熷氨鏄緗戠粶緇勪歡騫朵笉浼氱洿鎺ヤ笌鍔熻兘鎻掍歡浜や簰錛屽畠浠箣闂翠粛鐒跺瓨鍦ㄨ繖涓涓航甯︼紝榪欏氨鏄秷鎭鐞嗗櫒宸ュ巶錛岄偅涔堢敤浜庣鐞嗗姛鑳芥彃浠剁殑宸ュ巶錛屽氨鍙仛“鍔熻兘鎻掍歡澶勭悊鍣ㄥ伐鍘侳unAddinDealerFactory”錛岃繖灝嗗湪涓嬫枃涓粙緇嶃?nbsp;

鎰熻阿鍏蟲敞錛?/p>

]]>
ESFramework浠嬬粛涔嬶紙11錛夛紞錛?Tcp榪炴帴姹犵鐞嗗櫒http://m.shnenglu.com/twzheng/articles/21896.html璋枃鏀?/dc:creator>璋枃鏀?/author>Sat, 14 Apr 2007 14:35:00 GMThttp://m.shnenglu.com/twzheng/articles/21896.htmlhttp://m.shnenglu.com/twzheng/comments/21896.htmlhttp://m.shnenglu.com/twzheng/articles/21896.html#Feedback0http://m.shnenglu.com/twzheng/comments/commentRss/21896.htmlhttp://m.shnenglu.com/twzheng/services/trackbacks/21896.html[婧怾 http://zhuweisky.cnblogs.com/archive/2006/03/16/351426.html

涓婃枃宸茬粡璁插埌錛?span lang=EN-US>Tcp榪炴帴姹犵鐞嗗櫒涓烘垜浠殑搴旂敤榪涜浜嗗緢澶氬鏉傜殑綆$悊錛屾瘮濡傚姛鑳芥湇鍔″櫒鐨勮皟搴︼紙瀹炵幇FS鐨勮礋杞藉潎琛★級銆佽繛鎺ユ睜鐨勫姩鎬佹坊鍔?/span>/縐婚櫎銆佹帶鍒舵瘡涓繛鎺ユ睜鐨勭浉鍏沖弬鏁板湪UI涓婄殑鏄劇ず絳夛紝騫朵笖榪炴帴姹犵鐞嗗櫒涓庡崟涓繛鎺ユ睜鎷ユ湁涓鏍風殑鎺ュ彛ITcpPool銆傛垜浠厛鍥為【涓涓嬭繖涓帴鍙o細
 
 1     public interface ITcpPool
 2     {
 3         RentStreamResult RentTcpStream(int poolTypeKey ,int serviceKey ,out NetworkStream stream ,out int serverID) ;//poolTypeKey琛ㄧず鏌愪釜鍩庡競錛宻erviceKey琛ㄧず鏌愰」鏈嶅姟
 4         void GiveBackTcpStream(int streamHashCode ,int serverID) ;//灝唗cp榪炴帴瑙勮繕緇欒繛鎺ユ睜
 5         void SetStreamDamaged(int streamHashCode ,int serverID) ;//poolKey濡傛灉涓嶆槗淇濆瓨錛屽垯姝ゅ綆鍗曠殑浼?1鍗沖彲    
 6 
 7         event CallBackCountChanged     ActiveConnectionCountChanged ;     
 8         event CallBackPoolStateChanged PoolStateChanged ;        
 9     }
10 

    RentTcpStream鏂規硶涓殑serviceKey鍙傛暟鍙嶆槧浜嗚繖鏍蜂竴涓簨瀹烇細涓庝竴涓?/span>AS鐩歌繛鐨勫涓?/span>FS涓紝姣忎釜FS鍔犺澆鐨勫姛鑳芥彃浠跺彲浠ユ槸涓嶄竴鏍風殑銆?/span>



    姣斿錛屼笂鍥句腑鐨?/span>3涓?/span>FS涓彧鏈?/span>FS1鍔犺澆浜嗗墠闈粙緇嶇殑“澶╂皵棰勬祴鏈嶅姟”鎻掍歡錛岄偅涔堝綋涓涓?#8220;澶╂皵棰勬祴鏈嶅姟”璇鋒眰鍒拌揪AS鏃訛紝AS灝卞彧鑳戒粠涓?/span>FS1涔嬮棿鐨勮繛鎺ユ睜涓?/span>Rent涓涓?/span>Tcp榪炴帴錛岃屼笉鏄粠FS2鎴?/span>FS3銆?/span>RentTcpStream鏂規硶鐨?/span>out鍙傛暟serverID琛ㄦ槑浜嗚繖鏉¤繛鎺ユ槸鎸囧悜鍝釜FS鐨勩?/span>

    鎺ヤ笅鏉ヨ冭檻榪欐牱涓涓棶棰橈紝褰撲竴涓姹傚埌鏉ワ紝榪欎釜璇鋒眰鍙互琚?/span>FS1銆?/span>FS2銆?/span>FS3澶勭悊錛岄偅涔圛TcpPoolsManager鍒板簳榪斿洖鍝釜榪炴帴姹犱腑鐨勮繛鎺ヤ簡錛熺瓟妗堟槸璐熻澆鏈灝忕殑閭d釜FS涓婄殑榪炴帴銆?br>    榪欐槸鎬庝箞鍋氬埌鐨勪簡錛熷叾瀹炲緢綆鍗曘傛瘡涓?/span>FS閮藉畾鏃訛紙姣斿涓縐掍竴嬈★級鍦版妸鑷繁鐨勮礋杞斤紙CPU鍒╃敤鐜囧拰鍐呭瓨鍒╃敤鐜囷級閫氱煡緇?/span>AS錛岄氱煡緇?/span>AS鐨勬柟寮忓彲浠ユ湁澶氱錛屾瘮濡?/span>.Net Remoting銆?/span>ESFramework涓湁涓涓О涓鴻繛鎺ユ睜璋冨害鍣?/span>ITcpPoolScheduler鐨勪笢涓滐紝瀹冭褰曚簡姣忎釜FS瀹炴椂鐨勮礋杞姐傝繖鏍峰綋涓涓姹傚埌鏉ユ椂錛岃繛鎺ユ睜綆$悊鍣↖TcpPoolsManager浼氳姹傝繛鎺ユ睜璋冨害鍣ㄤ粠浼楀鐨?/span>FS涓夊嚭涓涓?#8220;婊¤凍鏉′歡”涓旇礋杞芥渶灝忕殑FS銆傝繖閲岀殑“婊¤凍鏉′歡”涓昏鎸囩殑鏄搴旂殑FS涓婃湁鑳藉鐞嗚璇鋒眰鐨勫姛鑳芥彃浠躲傚疄鐜拌繖縐嶈皟搴﹂渶瑕佺殑鏀寔鐨勫悇涓浉浜掑崗浣滅殑緇勪歡鐨勮仈緋誨浘澶ц嚧濡備笅錛?/span>


      
    鍥句腑IServerPerformanceMonitor鏄敤浜庣洃鎺ф湰鍦版湇鍔″櫒鎬ц兘鐨勭粍浠訛紝瀹冨彲浠ュ畾鏃跺彂甯冩湰鏈嶅姟鍣ㄧ殑鎬ц兘鏁版嵁錛堜富瑕佹槸CPU鍒╃敤鐜囧拰鍐呭瓨鍒╃敤鐜囷級錛屽叾瀹氫箟濡備笅錛?br>
 1     public interface IServerPerformanceMonitor 
 2     {        
 3         void Start() ;
 4         void Stop() ;        
 5 
 6         int RefreshSpanSecs{get ;set ;}
 7 
 8         event CBackServerPerformance ServerPerformanceDataRefreshed ;
 9     } 
11 
12     public delegate void CBackServerPerformance(ServerPerformance performance) ;
 
13     public class ServerPerformance
14     {        
15         public float  CpuUsagePercent ;
16         public float  MemoryUsagePercent ;
17     }    
 

榪炴帴姹犺皟搴﹀櫒ITcpPoolScheduler鐨勫畾涔夊涓嬶細

 1     public interface ITcpPoolScheduler
 2     {
 3         //浠ヤ笅鏂規硶灞炴т粎浠呯敱澶氳繛鎺ユ睜綆$悊鑰呰皟鐢?/span>
 4         int GetNextTcpPool(int poolTypeKey) ; //榪斿洖鐨勬槸鏌愯繛鎺ユ睜鐨勬湇鍔$鐐圭殑serverID 錛屽鏋滄病鏈夊彲鐢ㄧ殑榪斿洖-1
 5         int GetNextTcpPool(int poolTypeKey ,int serviceKey) ; 
 6 
 7         void Initialize() ;
 8         void Dispose() ;//榪樺師鍒版湭鍒濆鍖栫殑鐘舵?/span>
 9         void SetServerState(int serverID ,bool activated) ;        
10         void AddServer(int serverID) ;
11         void RemoveServer(int serverID) ;
12 
13 
14         //浠ヤ笅鏂規硶灞炴х敱澶栭儴鎸囧畾鎴栬皟鐢?/span>
15         void SetPerformance(int serverID ,float cpuUsage ,float memUsage) ;        
16         ITcpPoolHelper    TcpPoolHelper{set ;}
17     }

    涓轟簡浣胯礋杞藉潎琛$殑鏁堟灉鏇村ソ錛?/span>ITcpPoolScheduler鍙互瀹炵幇鐨勯潪甯稿鏉傦紝姣斿榪涜鍘嗗彶璁板綍緇熻銆佸垎鏋愩侀嫻嬬瓑銆?/span>ESFramework緇欏嚭浜嗛粯璁ゅ疄鐜?/span>TcpPoolScheduler銆?/span>

    鍦ㄧ粍浠惰仈緋誨浘涓繕鏈変竴涓狪PoolEndPointsDisplayer緇勪歡錛屽畠鐢ㄤ簬鍦?/span>UI涓婃樉紺烘瘡涓姛鑳芥湇鍔″櫒鐨勮緇嗕俊鎭拰鎬ц兘鏁版嵁銆?br>

1     public interface IPoolEndPointsDisplayer
2     {
3         void RegisterFs(int serverID ,string serverName ,IPEndPoint ipe ,int exceptCount) ;
4         void UnRegisterFs(int serverID) ;
5         void SetFsState(int serverID ,bool activated) ;        
6         void SetActiveCount(int serverID ,int activeCount) ;
7         void UpdateFsPerformance(int serverID ,float cpuUsage ,float memUsage) ;
8         void Clear() ;
9     }

    
   
FS綆$悊鍣ㄧ鐞嗚繛鎺ヤ笂鏈?/span>AS鐨勬瘡涓姛鑳芥湇鍔″櫒錛岃繖灝嗗湪鍚庢枃涓鍒般?br>    闄や簡ITcpPool鎺ュ彛錛岃繛鎺ユ睜綆$悊鍣ㄨ繕瀹炵幇浜?/span>ITcpPoolsManager鎺ュ彛錛?/p>

 1     public interface ITcpPoolsManager :ITcpPool
 2     {
 3         string              TcpPoolSchedulerTypeString{set ;} //"ESFramework.Network.TcpPool.TcpPoolScheduler ,ESFramework"
 4         ArrayList         PoolEndPointList{set ;} //榪炴帴姹犵殑鏈嶅姟绔疨oolEndPointInfo鍒楄〃        
 5         int                  ReconnectSpan{get ;set ;} // 鍒嗛挓         
 6         
 7         void              Initialize() ;    //鍒濇寤虹珛榪炴帴姹?/span>
 8         void              Dispose() ; //榪樺師鍒版病鏈夊垵濮嬪寲鐨勭姸鎬?/span>
 9         void              AddPool(PoolEndPointInfo info) ;
10         void              RemovePool(int serverID) ;
11         
12         void              DisposePoolConnections(int serverID) ;//緙栧彿涓簊erverID鐨勬湇鍔″櫒宸插仠姝紝鎵浠ラ噴鏀懼搴旂殑Pool錛屼絾鏄笉鍒犻櫎姹狅紝浠嶇劧瀹氭椂閲嶈繛
13         void              ReconnectPool(int serverID) ; //鏇懼仠姝㈢殑鏈嶅姟鍣ㄥ凡鍚姩瀹屾瘯錛屾墍浠ュ彲浠ラ噸榪炰簡
14 
15         /// <summary>
16         /// 鍙洿鎺ヤ嬌鐢?nbsp;ESFramework.Network.TcpPool.PoolEndPointsDisplayer
17         /// </summary>
18         IPoolEndPointsDisplayer PoolEndPointsDisplayer{set ;}        
19 
20         //鐢盜TcpPoolScheduler浣跨敤
21         void SetPerformance(int serverID ,float cpuUsage ,float memUsage) ;    
22         ITcpPoolHelper    TcpPoolHelper{set ;} //鍙敱ESFramework.Architecture.LBS.FourTier.FsManager鎻愪緵
23     }    

    AddPool鏂規硶鍜?/span>RemovePool鏂規硶琛ㄦ槑鍙互鍔ㄦ佺殑娣誨姞/縐婚櫎Tcp榪炴帴姹犮傛敞鎰忔帴鍙d腑鐨?/span>SetPerformance鏂規硶錛岃繖涓柟娉曞皢琚?/span>FS綆$悊鍣ㄨ皟鐢紝鐢ㄤ簬鎶婁粠Remoting鎺ユ敹鍒扮殑FS鐨勬ц兘鏁版嵁閫氱煡緇?/span>ITcpPoolsManager錛岀劧鍚?/span>ITcpPoolsManager鍐嶆妸榪欎簺鏁版嵁鎻愪氦緇?/span>ITcpPoolScheduler璁板綍錛屽綋闇瑕佽繘琛岃皟搴︾殑鏃跺欙紝ITcpPoolScheduler浠庤繖浜涜褰曚腑榪涜鍒嗘瀽璁$畻騫舵壘鍒拌礋杞芥渶灝忕殑FS銆?/span>TcpPoolSchedulerTypeString灞炴х敤浜庡悜榪炴帴姹犵鐞嗗櫒鎻愪緵璋冨害鑰呯殑瀹為檯綾誨瀷錛岀鐞嗗櫒灝嗕細閫氳繃鍙嶅皠鍒涘緩璋冨害鑰呯殑瀹炰緥銆?/span>

榪樻湁涓涓渶瑕佽緗殑灞炴?/span>ITcpPoolHelper錛?br>

1     public interface ITcpPoolHelper
2     {
3         bool ContainsService(int serverID ,int serviceKey) ;
4         bool ServerIsTheType(int serverID ,int destType) ;
5         bool ServerIsCompatible(int serverID ,int destType ,int serviceKey) ;
6         string GetServerNameByID(int serverID) ;
7     }

    鐢變簬榪欎釜鎺ュ彛鎻愪緵浜嗘瘡涓姛鑳芥湇鍔″櫒璇︾粏淇℃伅錛屾墍浠ヨ繖涓帴鍙g殑瀹炵幇鍙互鐩存帴鐢卞墠闈㈡彁鍒扮殑FS綆$悊鍣ㄩ『甯﹀疄鐜般?/span>

    ITcpPoolsManager
鏄竴涓瘮杈冨鏉傜殑緇勪歡錛屽畠闇瑕佹秹鍙婂埌澶氫釜緇勪歡鐨勫崗浣溿傛墍浠ュ鏋滅湅瀹岃繖綃囨枃绔狅紝浠嶇劧榪樻湁浜涗笉娓呮鐨勫湴鏂癸紝鏄緢姝e父鐨勩傚湪鍚庨潰緋誨垪鏂囩珷鐨勭戶緇榪頒腑錛岃繖浜涗笉娓呮櫚鐨勫湴鏂逛細鎱㈡參鎷ㄥ紑榪烽浘銆?br>
鎰熻阿鍏蟲敞銆?br>



璋枃鏀?/a> 2007-04-14 22:35 鍙戣〃璇勮
]]>
ESFramework浠嬬粛涔嬶紙10錛夛紞錛?Tcp榪炴帴姹?/title><link>http://m.shnenglu.com/twzheng/articles/21895.html</link><dc:creator>璋枃鏀?/dc:creator><author>璋枃鏀?/author><pubDate>Sat, 14 Apr 2007 14:17:00 GMT</pubDate><guid>http://m.shnenglu.com/twzheng/articles/21895.html</guid><wfw:comment>http://m.shnenglu.com/twzheng/comments/21895.html</wfw:comment><comments>http://m.shnenglu.com/twzheng/articles/21895.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/twzheng/comments/commentRss/21895.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/twzheng/services/trackbacks/21895.html</trackback:ping><description><![CDATA[[婧怾 <a >http://zhuweisky.cnblogs.com/archive/2006/03/16/351301.html</a><br><br>鍑℃槸甯︽湁“姹?#8221;鐨勶紝姣斿鏁版嵁搴撹繛鎺ユ睜銆佸璞℃睜銆佺紦鍐插尯姹狅紙鍚庨潰鍙互鐪嬪埌<span lang=EN-US>IBuffPool</span><span>錛夌瓑絳夛紝閮芥槸涓轟簡閬垮厤璧勬簮鐨勫弽澶嶅垱寤?/span><span lang=EN-US>/</span><span>閿姣佹墍甯︽潵鐨勫紑閿銆傞渶瑕佷負鍝簺璧勬簮瀵硅薄寤虹珛“姹?#8221;浜嗭紵榪欎簺璧勬簮瀵硅薄閫氬父絎﹀悎涓嬮潰鍑犱釜鐗規э細<br></span><span lang=EN-US><span>錛?錛?/span><span>鍦ㄥ簲鐢ㄤ腑闇瑕佸弽澶嶇殑琚垱寤?/span><span lang=EN-US>/</span><span>閿姣併?br></span><span lang=EN-US><span>錛?錛?/span><span>鍒涘緩</span><span lang=EN-US>/</span><span>閿姣佺殑寮閿姣旇緝澶?br></span><span lang=EN-US><span>錛?錛?/span><span>搴旂敤涓粰瀹氭椂鍒伙紝瀵硅璧勬簮瀵硅薄鐨勬暟閲忚姹傛瘮杈冨ぇ<br></span><span lang=EN-US><span>錛?錛?/span><span>璧勬簮瀵硅薄鏈濂芥槸鏃犵姸鎬佺殑錛?/span><span lang=EN-US>Stateless</span><span>錛夛紝榪欐牱鏂逛究鐩存帴澶嶇敤<br></span><span lang=EN-US><span><br>    </span>AS錛?a ><font color=#1d58d1>鍥為【</font></a>錛?/span><span>灝嗘墍鏈夌殑鍔熻兘鏈嶅姟璇鋒眰杞彂緇欎負璇?/span><span lang=EN-US>AS</span><span>鎻愪緵鏈嶅姟鐨?/span><span lang=EN-US>FS</span><span>緹や腑鐨勪竴涓紙鍙傝銆傘傘傦級錛岀劧鍚?/span><span lang=EN-US>FS</span><span>灝嗚姹備氦緇欏搴旂殑鍔熻兘鎻掍歡澶勭悊銆傞偅涔?/span><span lang=EN-US>AS</span><span>鍜?/span><span lang=EN-US>FS</span><span>涔嬮棿鐨勯氫俊閫氳繃浠涔堟柟寮忚繘琛屼簡錛熷彲閫夌殑鏂瑰紡鏈?/span><span lang=EN-US>.netRemoting</span><span>銆?/span><span lang=EN-US>WebService</span><span>銆?/span><span lang=EN-US>Tcp/Udp</span><span>絳夈傚熀浜庢晥鐜囧拰鍑嗙‘鎬х殑鑰冭檻錛?/span><span lang=EN-US>WebService</span><span>鍜?/span><span lang=EN-US>Udp</span><span>鏄笉澶у悎閫傜殑銆傞偅涔?/span><span lang=EN-US>TCP</span><span>鍜?/span><span lang=EN-US>.netRemoting</span><span>錛屽埌搴曢夌敤鍝釜錛熸垜浠煡閬?/span><span lang=EN-US>.netRemoting</span><span>搴曞眰涔熸槸鍩轟簬</span><span lang=EN-US>Tcp</span><span>鎴?/span><span lang=EN-US>Http</span><span>鍗忚鐨勶紝涓轟簡鍋氬埌妯℃嫙鏈湴鏂規硶璋冪敤鐨勬柟寮忥紝</span><span lang=EN-US>.NETRemoting</span><span>涔熷仛浜嗗緢澶氳漿鎹㈢殑鎿嶄綔錛堝爢鏍堝撫銆婏紳銆嬫秷鎭級錛屽鑷翠簡涓浜涘紑閿錛岃岀洿鎺ヤ嬌鐢?/span><span lang=EN-US>Tcp</span><span>鍒欏彲浠ラ伩鍏嶏紝鑰屼笖</span><span lang=EN-US>AS</span><span>鍜?/span><span lang=EN-US>FS</span><span>涔嬮棿鐨勬秷鎭殑鏍煎紡鏄吋瀹圭殑錛堜富瑕佹槸浣跨敤浜嗗畬鍏ㄧ浉鍚岀殑娑堟伅澶達紝榪欏氨澶熶簡錛夛紝涔熷氨鏄涓鏉℃秷鎭粠瀹㈡埛绔彂鍑猴紝鍙互涓嶉渶鍋氫換浣曡漿鎹㈠氨鐩存帴琚?/span><span lang=EN-US>FS</span><span>鐨勫姛鑳芥彃浠跺鐞嗭紙鍔犲瘑銆佸帇緙╀笉璁″湪鍐咃級銆?br></span><span lang=EN-US><span><br>    </span><span>濡備綘鎵鎯籌紝</span><span lang=EN-US>ESFramework</span><span>鎺ㄨ崘鐨勬柟寮忔槸</span><span lang=EN-US>AS</span><span>鍜?/span><span lang=EN-US>FS</span><span>鐩存帴閫氳繃浣庡眰鐨?/span><span lang=EN-US>Tcp</span><span>榪涜閫氫俊銆備負浜嗛伩鍏?/span><span lang=EN-US>Tcp</span><span>榪炴帴涓嶆柇寤虹珛銆侀攢姣佹墍甯︽潵鐨勫紑閿錛?/span><span lang=EN-US>AS</span><span>鍜?/span><span lang=EN-US>FS</span><span>閫氫俊鍓嶏紝鍙互寤虹珛</span><span lang=EN-US>Tcp</span><span>榪炴帴姹犮傛湰鏂囧氨鍏蟲敞</span><span lang=EN-US>Tcp</span><span>榪炴帴姹犵殑鍘熺悊鍜屽疄鐜般?br></span><span lang=EN-US><span><br>    </span>Tcp</span><span>榪炴帴姹犱腑瀛樻斁鐨勬槸</span><span lang=EN-US>Tcp</span><span>榪炴帴鈥曗曞嵆</span><span lang=EN-US>NetworkStream</span><span>瀵硅薄錛屽綋搴旂敤闇瑕佷嬌鐢ㄦ椂錛屽氨浠?/span><span lang=EN-US>Tcp</span><span>榪炴帴姹犱腑縐熷?#8220;</span><span lang=EN-US>Rent</span><span>”涓鏉¤繛鎺ワ紝鐢ㄥ畬鍚庡啀褰掕繕“</span><span lang=EN-US>GiveBack</span><span>”緇欒繛鎺ユ睜銆? <div><span>public</span><span> </span><span>class</span><span> TcpStreamPool :ITcpStreamPool ,ITcpPool</span></div> <p></span><span lang=EN-US><span>    浠庝笂闈㈢殑瀹氫箟</span><span>鍙互鐪嬪埌</span><span lang=EN-US>TcpStreamPool</span><span>浠庝袱涓帴鍙g戶鎵匡細</span><span lang=EN-US>ITcpPool</span><span>鍜?/span><span lang=EN-US>ITcpStreamPool</span><span>銆傚厛鐪嬬湅</span><span lang=EN-US>ITcpStreamPool</span><span>鐨勫畾涔夛細</p> <div><span> 1</span>     <span>///</span><span> </span><span><summary></span><span><br></span><span> 2</span> <span>    </span><span>///</span><span> ITCPStreamPool tcp榪炴帴姹犵敤浜庣鐞嗗ぇ閲忕殑TCP榪炴帴<br></span><span> 3</span> <span>    </span><span>///</span><span>  浣滆咃細鏈變紵 sky.zhuwei@163.com  <br></span><span> 4</span> <span>    </span><span>///</span><span> sky 2005.02.24<br></span><span> 5</span> <span>    </span><span>///</span><span> </span><span></summary></span><span><br></span><span> 6</span> <span>    </span><span>public</span><span> </span><span>interface</span><span> ITcpStreamPool <br></span><span> 7</span> <span>    {        <br></span><span> 8</span> <span>        </span><span>int</span><span>         ServerID {</span><span>get</span><span> ;</span><span>set</span><span> ;}<br></span><span> 9</span> <span>        </span><span>int</span><span>            StreamCount           {</span><span>get</span><span> ;</span><span>set</span><span> ;} </span><span>//</span><span>鏈熸湜榪炴帴鎬繪暟</span><span><br></span><span>10</span> <span>        </span><span>int</span><span>            ActiveConnectionCount {</span><span>get</span><span> ;} </span><span>//</span><span>瀹為檯鍙敤鐨勮繛鎺ユ暟        </span><span><br></span><span>11</span> <span>        IPEndPoint  FsIpe       {</span><span>get</span><span> ;</span><span>set</span><span> ;} </span><span>//</span><span>鍔熻兘鏈嶅姟鍣ㄧ殑IPE</span><span><br></span><span>12</span> <span>        </span><span>int</span><span>         ReconnectSpan{</span><span>get</span><span> ;</span><span>set</span><span> ;} </span><span>//</span><span> 鍒嗛挓     </span><span><br></span><span>13</span> <span>        </span><span>bool</span><span>        IsActive{</span><span>get</span><span>;}<br></span><span>14</span> <span><br></span><span>15</span> <span>        </span><span>void</span><span> ReConnect() ; </span><span>//</span><span>鎵嬪姩閲嶈繛</span><span><br></span><span>16</span> <span>        </span><span>void</span><span> Initialize() ;        <br></span><span>17</span> <span>        </span><span>void</span><span> DisposeConnections() ; </span><span>//</span><span>閲婃斁姹犱腑鎵鏈夎繛鎺ワ紝鍙互閫氳繃ReConnect鏉ラ噸鏂板緩绔嬭繛鎺?nbsp;       </span><span><br></span><span>18</span> <span>        </span><span>void</span><span> SetStreamDamaged(</span><span>int</span><span> streamHashCode) ;            <br></span><span>19</span> <span><br></span><span>20</span> <span>        NetworkStream RentTcpStream() ;    <br></span><span>21</span> <span>        </span><span>void</span><span> GiveBackTcpStream(</span><span>int</span><span> streamHashCode) ;</span><span>//</span><span>灝唗cp榪炴帴瑙勮繕緇欒繛鎺ユ睜</span><span><br></span><span>22</span> <span>    }    </span></div> <p></span><span lang=EN-US>    AS</span><span>鍜屾瘡涓?/span><span lang=EN-US>FS</span><span>涔嬮棿閮芥湁涓涓繛鎺ユ睜錛屾瘡涓姛鑳芥湇鍔″櫒鐨勫尯鍒嗘槸閫氳繃</span><span lang=EN-US>ServerID</span><span>鏉ョ殑錛屾墍浠ヨ繛鎺ユ睜涔熸湁涓涓?/span><span lang=EN-US>ServerID</span><span>灞炴ф爣蹇椾簡鏈繛鎺ユ睜鏄笌鍝釜</span><span lang=EN-US>FS</span><span>鐩歌繛鐨勩?/span><span lang=EN-US>ReconnectSpan</span><span>灞炴ц〃鏄庤繛鎺ユ睜瑕佹敮鎸侀噸榪炴満鍒訛紝鍗沖綋榪炴帴姹犱腑鐨勬墍鏈夎繛鎺ラ兘鏂紑鍚庯紙鍙兘鏄?/span><span lang=EN-US>FS</span><span>鎺夌嚎寮曡搗鐨勶級錛岃繛鎺ユ睜搴旇兘瀹氭椂閲嶈繛</span><span lang=EN-US>FS</span><span>錛岀洿鑷寵姹犱腑鐨勬墍鏈夎繛鎺ラ噸鏂板緩绔嬨?br></span><span lang=EN-US><span>    濡傛灉搴旂敤浠庤繛鎺ユ睜</span><span lang=EN-US>Rent</span><span>浜嗕竴鏉¤繛鎺ワ紝鐒跺悗鍦ㄤ嬌鐢ㄧ殑榪囩▼涓榪炴帴鏂紑浜嗭紝鍒欏簲鐢ㄥ簲璇ヨ皟鐢ㄨ繛鎺ユ睜鐨?/span><span lang=EN-US>SetStreamDamaged</span><span>鏂規硶閫氱煡榪炴帴姹犺榪炴帴宸蹭笉鍙敤銆?/span><span lang=EN-US>RentTcpStream</span><span>鏂規硶鍜?/span><span lang=EN-US>GiveBackTcpStream</span><span>鏂規硶鏄垜浠渶甯哥敤鐨勭鍊?/span><span lang=EN-US>/</span><span>褰掕繕榪炴帴鐨勬柟娉曚簡銆?br></span><span lang=EN-US><span>    </span><span>娉ㄦ剰錛屽緢澶氭柟娉曠殑鍙傛暟涓湁</span><span lang=EN-US>streamHashCode</span><span>鍙傛暟錛屽畠鏄?/span><span lang=EN-US>NetworkStream</span><span>瀵硅薄鐨?/span><span lang=EN-US>Hashcode</span><span>錛岀郴緇熶腑鐨勬瘡涓?/span><span lang=EN-US>NetworkStream</span><span>瀵硅薄鐨?/span><span lang=EN-US>HashCode</span><span>鏄笉鍚岀殑錛屽茍涓旓紝瀹冪殑</span><span lang=EN-US>HashCode</span><span>鍦?/span><span lang=EN-US>NetworkStream</span><span>瀵硅薄鐨勬暣涓敓鍛芥湡闂翠笉鍙橈紝鎵浠ュ彲浠ヤ嬌鐢?/span><span lang=EN-US>HashCode</span><span>鍞竴鏍囧織姣忎釜榪炴帴銆?/span></p> <p><span lang=EN-US><span>    </span><span>浼間箮錛?/span><span lang=EN-US>ITcpStreamPool</span><span>鎺ュ彛宸茬粡鍙嶆槧浜嗕竴涓繛鎺ユ睜鐨勬墍鏈変笢瑗匡紝鏄殑銆傞偅涔?/span><span lang=EN-US>ITcpPool</span><span>鎺ュ彛鍙堣搗浠涔堜綔鐢ㄤ簡錛熺幇鐪嬬湅</span><span lang=EN-US>ITcpPool</span><span>鐨勬牱瀛愶細<br></p> <div><span> 1</span> <span>///</span><span> </span><span><summary></span><span><br></span><span> 2</span> <span>    </span><span>///</span><span> ITcpPool 鐢ㄤ簬灝嗕竴涓猅CP榪炴帴姹犲拰涓緇凾CP榪炴帴姹犵粺涓璧鋒潵銆傝繖鏍鋒秷鎭垎媧懼櫒鍙渶浣跨敤ITcpPool鎺ュ彛鍗沖彲銆?br></span><span> 3</span> <span>    </span><span>///</span><span> zhuweisky <br></span><span> 4</span> <span>    </span><span>///</span><span> </span><span></summary></span><span><br></span><span> 5</span> <span>    </span><span>public</span><span> </span><span>interface</span><span> ITcpPool<br></span><span> 6</span> <span>    {<br></span><span> 7</span> <span>        RentStreamResult RentTcpStream(</span><span>int</span><span> poolTypeKey ,</span><span>int</span><span> serviceKey ,</span><span>out</span><span> NetworkStream stream ,</span><span>out</span><span> </span><span>int</span><span> serverID) ;</span><span>//</span><span>poolTypeKey琛ㄧず鏌愪釜鍩庡競錛宻erviceKey琛ㄧず鏌愰」鏈嶅姟</span><span><br></span><span> 8</span> <span>        </span><span>void</span><span> GiveBackTcpStream(</span><span>int</span><span> streamHashCode ,</span><span>int</span><span> serverID) ;</span><span>//</span><span>灝唗cp榪炴帴瑙勮繕緇欒繛鎺ユ睜</span><span><br></span><span> 9</span> <span>        </span><span>void</span><span> SetStreamDamaged(</span><span>int</span><span> streamHashCode ,</span><span>int</span><span> serverID) ;</span><span>//</span><span>poolKey濡傛灉涓嶆槗淇濆瓨錛屽垯姝ゅ綆鍗曠殑浼?1鍗沖彲    </span><span><br></span><span>10</span> <span><br></span><span>11</span> <span>        </span><span>event</span><span> CallBackCountChanged     ActiveConnectionCountChanged ;     <br></span><span>12</span> <span>        </span><span>event</span><span> CallBackPoolStateChanged PoolStateChanged ;        <br></span><span>13</span> <span>    }<br></span><span>14</span> <span><br></span><span>15</span> <span>    </span><span>public</span><span> </span><span>delegate</span><span> </span><span>void</span><span> CallBackCountChanged(</span><span>int</span><span> serverID ,</span><span>int</span><span> activeConnCount) ;<br></span><span>16</span> <span>    </span><span>public</span><span> </span><span>delegate</span><span> </span><span>void</span><span> CallBackPoolStateChanged(</span><span>int</span><span> serverID ,</span><span>bool</span><span> disconnected) ;<br></span><span>17</span> <span><br></span><span>18</span> <span>    </span><span>public</span><span> </span><span>enum</span><span> RentStreamResult<br></span><span>19</span> <span>    {<br></span><span>20</span> <span>        Succeed ,Busy ,TheServiceNotExist<br></span><span>21</span> <span>    }</span></div> <p></span><span lang=EN-US><span>    浣犲彲鑳藉凡緇忓彂鐜幫紝</span><span lang=EN-US>ITcpPool</span><span>涓殑鎵鏈夊厓绱犲湪</span><span lang=EN-US>ITcpStreamPool</span><span>鎺ュ彛涓兘鍙互鎵懼埌瀵瑰簲鐗╋紝鍙槸鏈変簺鏂規硶鐨勫弬鏁板彉澶嶆潅浜嗐傝繖涓昏鏄洜涓?span lang=EN-US>ITcpStreamPool</span><span>鎺ュ彛閽堝鐨勬槸涓涓狥S錛岃?span lang=EN-US>ITcpPool鍙兘鏄拡瀵逛竴涓狥S涔熷彲鑳芥槸涓緇凢S銆傚綋<span lang=EN-US>ITcpPool鑳屽悗鏄竴緇凢S鏃訛紝灝?/span>闇瑕佸弬鏁癝erverID鏉ュ尯鍒嗘瘡涓涓狥S銆?/span><span>鎴戜滑鐭ラ亾錛?/span><span lang=EN-US>AS</span><span>鍜屽搴旂殑姣忎釜</span><span lang=EN-US>FS</span><span>涔嬮棿閮戒嬌鐢ㄤ竴涓?/span><span lang=EN-US>Tcp</span><span>榪炴帴姹犻氫俊錛?br><img height=229 hspace=5 src="http://zhuweisky.cnblogs.com/images/cnblogs_com/zhuweisky/Tcppool.JPG" width=372 align=baseline></span></span></span> </p> <p><span lang=EN-US><span>    </span><span>鎵鏈夌殑榪欎簺榪炴帴姹犻渶瑕佽綆$悊璧鋒潵錛?/span><span lang=EN-US>ESFramework</span><span>涓殑</span><span lang=EN-US>ITcpPoolsManager</span><span>錛?/span><span>榪炴帴姹犵鐞嗗櫒錛夌粍浠跺疄鐜頒簡瀵瑰涓?/span><span lang=EN-US>Tcp</span><span>榪炴帴姹犵殑綆$悊銆備負浜嗘妸榪炴帴姹犵鐞嗗櫒鍜屽崟涓繛鎺ユ睜緇熶竴璧鋒潵錛屼嬌瀹冧滑鏈夌浉鍚岀殑澶栭儴鎺ュ彛錛屾墍浠ュ紩鍏ヤ簡</span><span lang=EN-US>ITcpPool</span><span>鎺ュ彛銆?br>    榪欐牱鍋氱殑濂藉鏄紝鍦ㄥ簲鐢ㄤ腑鐩存帴浣跨敤</span><span lang=EN-US>ITcpPool</span><span>鎺ュ彛灝卞彲浠ヤ簡錛岃屼笉鐢ㄥ叧蹇冭繖涓帴鍙h儗鍚庢槸涓涓?#8220;鍗曚釜榪炴帴姹?#8221;錛堝搴斿崟涓?/span><span lang=EN-US>FS</span><span>錛夎繕鏄敱榪炴帴姹犵鐞嗗櫒綆$悊鐨?#8220;涓緇勮繛鎺ユ睜”錛堝搴斿涓?/span><span lang=EN-US>FS</span><span>錛夈傝屼笖</span><span lang=EN-US>ITcpPoolsManager</span><span>涓烘垜浠殑搴旂敤榪涜浜嗗緢澶氬鏉傜殑綆$悊錛屾瘮濡傚姩鑳芥湇鍔″櫒鐨勮皟搴︼紙瀹炵幇</span><span lang=EN-US>FS</span><span>鐨勮礋杞藉潎琛★級銆佽繛鎺ユ睜鐨勫姩鎬佹坊鍔?/span><span lang=EN-US>/</span><span>縐婚櫎絳夈傝繖浜涘皢鍦ㄤ笅鏂囦腑浠嬬粛銆?br><br>鎰熻阿鍏蟲敞銆?br></span></p> </span></span></span></span></span></span></span></span></span></span></span> <img src ="http://m.shnenglu.com/twzheng/aggbug/21895.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/twzheng/" target="_blank">璋枃鏀?/a> 2007-04-14 22:17 <a href="http://m.shnenglu.com/twzheng/articles/21895.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://yye321.com" target="_blank">久久久久久久999精品视频</a>| <a href="http://xindefalv.com" target="_blank">亚洲国产高清aⅴ视频</a>| <a href="http://e789a.com" target="_blank">久久久久这里只有精品</a>| <a href="http://5849595.com" target="_blank">久久激情久久</a>| <a href="http://133868.com" target="_blank">欧美大片一区二区</a>| <a href="http://hkbsi.com" target="_blank">久久综合色天天久久综合图片</a>| <a href="http://ahhccz.com" target="_blank">久久国产一区二区三区</a>| <a href="http://598327.com" target="_blank">久久久www免费人成黑人精品</a>| <a href="http://emu160.com" target="_blank">久久久久免费视频</a>| <a href="http://xxoo668.com" target="_blank">欧美激情a∨在线视频播放</a>| <a href="http://800716.com" target="_blank">国产精品久久久久久久久免费桃花</a>| <a href="http://avtbr123.com" target="_blank">国产精品国产a级</a>| <a href="http://v58q.com" target="_blank">黑丝一区二区三区</a>| <a href="http://www8xoy.com" target="_blank">亚洲免费观看高清完整版在线观看熊</a>| <a href="http://5xxm.com" target="_blank">亚洲视频一区在线</a>| <a href="http://bbww55.com" target="_blank">久久久久久夜精品精品免费</a>| <a href="http://cloakok.com" target="_blank">亚洲国产婷婷</a>| <a href="http://ccc36-com.com" target="_blank">在线视频你懂得一区二区三区</a>| <a href="http://305838.com" target="_blank">91久久午夜</a>| <a href="http://608u.com" target="_blank">在线亚洲精品福利网址导航</a>| <a href="http://86868o.com" target="_blank">久久av资源网</a>| <a href="http://608u.com" target="_blank">亚洲第一区在线</a>| <a href="http://8eb26.com" target="_blank">亚洲综合电影</a>| <a href="http://www-ty177.com" target="_blank">欧美精品激情在线</a>| <a href="http://0808333.com" target="_blank">国内久久精品</a>| <a href="http://lgcpvip888.com" target="_blank">亚洲一区二区三区四区中文</a>| <a href="http://674446.com" target="_blank">裸体歌舞表演一区二区</a>| <a href="http://688528.com" target="_blank">亚洲社区在线观看</a>| <a href="http://99999zc.com" target="_blank">欧美电影免费观看</a>| <a href="http://yahuake.com" target="_blank">激情综合色丁香一区二区</a>| <a href="http://wocao1997.com" target="_blank">在线综合亚洲</a>| <a href="http://5b6c.com" target="_blank">欧美freesex8一10精品</a>| <a href="http://xingda-sh.com" target="_blank">亚洲直播在线一区</a>| <a href="http://1397979.com" target="_blank">欧美日韩精品在线视频</a>| <a href="http://qqx123.com" target="_blank">亚洲成人资源</a>| <a href="http://www-798009.com" target="_blank">久久久国际精品</a>| <a href="http://778km.com" target="_blank">亚洲午夜免费视频</a>| <a href="http://sfrecq.com" target="_blank">欧美日韩国产首页</a>| <a href="http://pinyuanad.com" target="_blank">亚洲国产裸拍裸体视频在线观看乱了中文 </a>| <a href="http://868482.com" target="_blank">亚洲国产经典视频</a>| <a href="http://aydsrmyy.com" target="_blank">欧美亚洲日本国产</a>| <a href="http://japanjavbibi.com" target="_blank">欧美性大战久久久久久久</a>| <a href="http://817794.com" target="_blank">91久久综合</a>| <a href="http://78gde.com" target="_blank">免费不卡亚洲欧美</a>| <a href="http://www-188444.com" target="_blank">久久精品国产v日韩v亚洲</a>| <a href="http://916969.com" target="_blank">国产精品女人网站</a>| <a href="http://2111952.com" target="_blank">亚洲欧美日韩一区在线</a>| <a href="http://saox28.com" target="_blank">日韩写真在线</a>| <a href="http://www249aaa.com" target="_blank">欧美精品三级</a>| <a href="http://www4848xx.com" target="_blank">日韩一级成人av</a>| <a href="http://csmdjs.com" target="_blank">亚洲成在线观看</a>| <a href="http://2ejj.com" target="_blank">亚洲激情视频在线</a>| <a href="http://wzxjzx.com" target="_blank">久久久久国产一区二区三区</a>| <a href="http://0000zz.com" target="_blank">亚洲欧美不卡</a>| <a href="http://987527.com" target="_blank">国产欧美精品在线播放</a>| <a href="http://yjjs20.com" target="_blank">午夜精品福利在线观看</a>| <a href="http://nbpacking.com" target="_blank">亚洲视频一二</a>| <a href="http://4466777.com" target="_blank">国产欧美一区二区三区视频</a>| <a href="http://388268.com" target="_blank">国产伦精品一区二区三区免费</a>| <a href="http://chinasck.com" target="_blank">国产精品萝li</a>| <a href="http://jav1111.com" target="_blank">久久aⅴ乱码一区二区三区</a>| <a href="http://laodaohang.com" target="_blank">另类av一区二区</a>| <a href="http://chinagreetown.com" target="_blank">亚洲欧美日韩综合</a>| <a href="http://k-dchina.com" target="_blank">欧美精品18videos性欧美</a>| <a href="http://jilcool.com" target="_blank">男人的天堂亚洲</a>| <a href="http://1188188.com" target="_blank">国内自拍一区</a>| <a href="http://g2000vip.com" target="_blank">亚洲欧美成人网</a>| <a href="http://xunlei520.com" target="_blank">国产农村妇女精品一区二区</a>| <a href="http://3s3v.com" target="_blank">一区二区欧美亚洲</a>| <a href="http://www-777324.com" target="_blank">亚洲欧洲av一区二区三区久久</a>| <a href="http://52sougou.com" target="_blank">国产亚洲欧美另类一区二区三区</a>| <a href="http://jlkcjz.com" target="_blank">久久阴道视频</a>| <a href="http://ahhccz.com" target="_blank">亚洲人成绝费网站色www</a>| <a href="http://miaoxp.com" target="_blank">欧美亚一区二区</a>| <a href="http://6hzl8.com" target="_blank">欧美sm视频</a>| <a href="http://2456yo.com" target="_blank">亚洲成色精品</a>| <a href="http://411233.com" target="_blank">久久五月天婷婷</a>| <a href="http://o10669.com" target="_blank">亚洲一区综合</a>| <a href="http://868482.com" target="_blank">午夜精品久久99蜜桃的功能介绍</a>| <a href="http://naturalgiftfashion.com" target="_blank">欧美中在线观看</a>| <a href="http://58yewu.com" target="_blank">精品成人一区二区三区四区</a>| <a href="http://430390.com" target="_blank">欧美aⅴ99久久黑人专区</a>| <a href="http://wwwmm131.com" target="_blank">牛牛国产精品</a>| <a href="http://7885888.com" target="_blank">亚洲一区尤物</a>| <a href="http://wwwby2232.com" target="_blank">久久精品一区二区国产</a>| <a href="http://qiezisp2.com" target="_blank">91久久精品美女高潮</a>| <a href="http://yp8882.com" target="_blank">日韩亚洲国产精品</a>| <a href="http://4322333.com" target="_blank">国产亚洲欧美中文</a>| <a href="http://www92444.com" target="_blank">亚洲国产精品综合</a>| <a href="http://scratbag.com" target="_blank">国产精品久久77777</a>| <a href="http://wwwmm7777.com" target="_blank">美女999久久久精品视频</a>| <a href="http://244223.com" target="_blank">欧美精品在线网站</a>| <a href="http://www-876810.com" target="_blank">久久蜜臀精品av</a>| <a href="http://zjjieda.com" target="_blank">欧美日韩亚洲在线</a>| <a href="http://520taose.com" target="_blank">久久永久免费</a>| <a href="http://ccnn33.com" target="_blank">欧美午夜在线观看</a>| <a href="http://jrtkpx.com" target="_blank">免播放器亚洲</a>| <a href="http://yimeimc.com" target="_blank">国产精品亚洲аv天堂网 </a>| <a href="http://kk8c.com" target="_blank">欧美中文字幕第一页</a>| <a href="http://7555hh.com" target="_blank">欧美aaa级</a>| <a href="http://srojsy.com" target="_blank">久久国产手机看片</a>| <a href="http://wwmm9.com" target="_blank">欧美日韩三级</a>| <a href="http://yeepey.com" target="_blank">欧美成人一区在线</a>| <a href="http://feiniao168.com" target="_blank">亚洲精品国产品国语在线app</a>| <a href="http://ccc982.com" target="_blank">国产精品久久久久久久午夜片</a>| <a href="http://4439x9.com" target="_blank">久久一区二区三区四区</a>| <a href="http://xwsj2020.com" target="_blank">欧美日韩国产bt</a>| <a href="http://3848404.com" target="_blank">免费国产一区二区</a>| <a href="http://70909g.com" target="_blank">国产色视频一区</a>| <a href="http://sortxz.com" target="_blank">亚洲精品社区</a>| <a href="http://444398.com" target="_blank">亚洲福利视频网</a>| <a href="http://603445.com" target="_blank">欧美亚洲免费电影</a>| <a href="http://feiniao168.com" target="_blank">亚洲女同在线</a>| <a href="http://javliabary.com" target="_blank">欧美日韩二区三区</a>| <a href="http://hjersqc.com" target="_blank">欧美激情在线</a>| <a href="http://www151zh.com" target="_blank">一区二区亚洲精品</a>| <a href="http://4545www.com" target="_blank">欧美在线播放一区二区</a>| <a href="http://022291.com" target="_blank">亚洲欧美在线免费</a>| <a href="http://wanmajc.com" target="_blank">欧美色视频日本高清在线观看</a>| <a href="http://jlkcjz.com" target="_blank">欧美激情bt</a>| <a href="http://www7495.com" target="_blank">亚洲国产一区在线</a>| <a href="http://7282789.com" target="_blank">久久综合九色综合久99</a>| <a href="http://322033.com" target="_blank">久久国产精品久久久久久久久久 </a>| <a href="http://ylnnc.com" target="_blank">欧美三区在线观看</a>| <a href="http://yw133777.com" target="_blank">欧美黄色精品</a>| <a href="http://13501680.com" target="_blank">在线欧美日韩</a>| <a href="http://080973.com" target="_blank">久久亚裔精品欧美</a>| <a href="http://69xxx6.com" target="_blank">蜜桃av一区二区在线观看</a>| <a href="http://wwww76.com" target="_blank">国产午夜久久</a>| <a href="http://9906w.com" target="_blank">羞羞漫画18久久大片</a>| <a href="http://bocai4488.com" target="_blank">欧美在线国产</a>| <a href="http://yunyang0991.com" target="_blank">国产视频一区免费看</a>| <a href="http://baoyou118.com" target="_blank">亚洲一级在线观看</a>| <a href="http://jilcool.com" target="_blank">欧美一级视频</a>| <a href="http://689657.com" target="_blank">国产一区二区三区精品欧美日韩一区二区三区 </a>| <a href="http://8888590.com" target="_blank">久久久99国产精品免费</a>| <a href="http://kaijiepharm.com" target="_blank">国产精品久久久久久久久久免费看</a>| <a href="http://avjj80.com" target="_blank">日韩亚洲欧美中文三级</a>| <a href="http://012492.com" target="_blank">99精品视频免费观看</a>| <a href="http://www492002.com" target="_blank">欧美日韩精品免费观看视频</a>| <a href="http://99cheats.com" target="_blank">亚洲免费高清视频</a>| <a href="http://zyjxyx.com" target="_blank">亚洲欧美日韩一区二区在线 </a>| <a href="http://xian369.com" target="_blank">一本久久综合亚洲鲁鲁</a>| <a href="http://3737520.com" target="_blank">欧美女激情福利</a>| <a href="http://567acg.com" target="_blank">一区二区日韩伦理片</a>| <a href="http://bmcshy.com" target="_blank">欧美亚洲日本网站</a>| <a href="http://7343888.com" target="_blank">国产亚洲精品久久久久婷婷瑜伽 </a>| <a href="http://www-663345.com" target="_blank">久久亚洲欧美</a>| <a href="http://syruili.com" target="_blank">亚洲国产精品久久久久婷婷884</a>| <a href="http://799868.com" target="_blank">农村妇女精品</a>| <a href="http://aimashe.com" target="_blank">99热在线精品观看</a>| <a href="http://yys4.com" target="_blank">久久爱另类一区二区小说</a>| <a href="http://pourporn.com" target="_blank">好男人免费精品视频</a>| <a href="http://www-544778.com" target="_blank">毛片一区二区三区</a>| <a href="http://666675com.com" target="_blank">亚洲开发第一视频在线播放</a>| <a href="http://2061851.com" target="_blank">午夜精品亚洲一区二区三区嫩草</a>| <a href="http://go1818.com" target="_blank">国产一区二区三区黄视频</a>| <a href="http://lucky5888.com" target="_blank">久久影院午夜论</a>| <a href="http://teloregen.com" target="_blank">日韩视频在线免费观看</a>| <a href="http://22241com.com" target="_blank">性欧美18~19sex高清播放</a>| <a href="http://9511331.com" target="_blank">久久福利毛片</a>| <a href="http://www-tk3333.com" target="_blank">欧美激情一二区</a>| <a href="http://qdssqt.com" target="_blank">亚洲——在线</a>| <a href="http://521531.com" target="_blank">影音先锋亚洲电影</a>| <a href="http://ahqdlq.com" target="_blank">欧美日韩视频一区二区三区</a>| <a href="http://69ru.com" target="_blank">性欧美video另类hd性玩具</a>| <a href="http://www8888803.com" target="_blank">男女激情视频一区</a>| <a href="http://163263.com" target="_blank">中文av字幕一区</a>| <a href="http://xianjiacf.com" target="_blank">国内精品久久久久久影视8</a>| <a href="http://621791.com" target="_blank">欧美激情综合五月色丁香小说</a>| <a href="http://zhaosaoz.com" target="_blank">在线亚洲欧美视频</a>| <a href="http://58yewu.com" target="_blank">欧美大片91</a>| <a href="http://012492.com" target="_blank">久久er精品视频</a>| <a href="http://sifeksa.com" target="_blank">99精品视频免费</a>| <a href="http://017492.com" target="_blank">一区福利视频</a>| <a href="http://diyiao.com" target="_blank">国产精品国产三级国产普通话蜜臀</a>| <a href="http://yckjwb.com" target="_blank">久久久久久亚洲精品杨幂换脸</a>| <a href="http://8410555.com" target="_blank">亚洲伦理一区</a>| <a href="http://www-e2222.com" target="_blank">欧美不卡视频一区</a>| <a href="http://zhiuh.com" target="_blank">欧美中文字幕视频</a>| <a href="http://848585.com" target="_blank">中日韩高清电影网</a>| <a href="http://gzxyh88.com" target="_blank">亚洲高清不卡在线观看</a>| <a href="http://www201314.com" target="_blank">国产精品日产欧美久久久久</a>| <a href="http://www-878899.com" target="_blank">免费观看成人网</a>| <a href="http://060607.com" target="_blank">欧美中文在线视频</a>| <a href="http://www492002.com" target="_blank">亚洲一区三区电影在线观看</a>| <a href="http://259758.com" target="_blank">亚洲国内精品在线</a>| <a href="http://sxxawef.com" target="_blank">美女在线一区二区</a>| <a href="http://gzhachi.com" target="_blank">欧美一区二区三区精品 </a>| <a href="http://017492.com" target="_blank">中文日韩在线视频</a>| <a href="http://kaijiepharm.com" target="_blank">在线免费观看欧美</a>| <a href="http://989p.com" target="_blank">国内精品久久久久影院色</a>| <a href="http://easypufu.com" target="_blank">欧美日韩在线播</a>| <a href="http://7343888.com" target="_blank">欧美黑人在线播放</a>| <a href="http://xhs015.com" target="_blank">欧美1区免费</a>| <a href="http://8x27.com" target="_blank">蜜臀av一级做a爰片久久</a>| <a href="http://zzzz80.com" target="_blank">久久精品91久久久久久再现</a>| <a href="http://tuokuba520.com" target="_blank">亚洲综合色激情五月</a>| <a href="http://www-232323.com" target="_blank">中文国产成人精品</a>| <a href="http://mauhorng.com" target="_blank">99国产精品国产精品久久</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>