锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产日韩精品在线,欧美一区二视频在线免费观看,国产精品v欧美精品∨日韩 http://www.shnenglu.com/lijialian/category/1777.htmlzh-cn Mon, 19 May 2008 23:00:20 GMT Mon, 19 May 2008 23:00:20 GMT 60 TP_Reactor 瀛︿範(fàn)絎旇 http://www.shnenglu.com/lijialian/archive/2007/02/25/18971.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Sun, 25 Feb 2007 12:41:00 GMT http://www.shnenglu.com/lijialian/archive/2007/02/25/18971.html http://www.shnenglu.com/lijialian/comments/18971.html http://www.shnenglu.com/lijialian/archive/2007/02/25/18971.html#Feedback 0 http://www.shnenglu.com/lijialian/comments/commentRss/18971.html http://www.shnenglu.com/lijialian/services/trackbacks/18971.html 闃呰鍏ㄦ枃 ]]> select_reactor鐨勫師鐮佸涔?fàn)绗旇?/title> http://www.shnenglu.com/lijialian/archive/2007/02/24/18950.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Sat, 24 Feb 2007 12:30:00 GMT http://www.shnenglu.com/lijialian/archive/2007/02/24/18950.html http://www.shnenglu.com/lijialian/comments/18950.html http://www.shnenglu.com/lijialian/archive/2007/02/24/18950.html#Feedback 0 http://www.shnenglu.com/lijialian/comments/commentRss/18950.html http://www.shnenglu.com/lijialian/services/trackbacks/18950.html 闃呰鍏ㄦ枃 ]]> N涓猂eactor鏄惁灝辨剰鍛崇潃鏀寔N*FD_SETSIZE涓繛鎺ュ憿錛?/title> http://www.shnenglu.com/lijialian/archive/2007/02/22/18917.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Thu, 22 Feb 2007 15:25:00 GMT http://www.shnenglu.com/lijialian/archive/2007/02/22/18917.html http://www.shnenglu.com/lijialian/comments/18917.html http://www.shnenglu.com/lijialian/archive/2007/02/22/18917.html#Feedback 0 http://www.shnenglu.com/lijialian/comments/commentRss/18917.html http://www.shnenglu.com/lijialian/services/trackbacks/18917.html 聽
/**/
/*
******************************************************************* *聽Copyright聽(c)聽2006,study-record聽home *聽All聽rights聽reservered. * *聽鏂囦歡鍚嶇О聽:聽littersize.cpp聽 *聽鎽樎犅犅犅犺聽:聽榪欎釜渚嬪瓙涓昏鏄敤鏉ラ獙璇佽繖鏍蜂竴涓棶棰樸傚綋鎴戜滑紼嬪簭涓湁n涓猺eactor鐨勬椂鍊欙紝鏄惁灝辨剰鍛崇潃鎴戜滑鏀寔n*FD_SETSIZE榪炴帴. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽涓轟簡楠岃瘉榪欎釜闂,鎴戜滑浼犻掍竴涓ぇ灝忎負(fù)2鐨勫肩粰ACE_Select_Reactor鐨勬瀯閫犲嚱鏁般傜湅鏄惁鏄彧鏀寔2涓繛鎺? 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽楠岃瘉緇撴灉琛ㄦ槑錛氬湪鏈緥瀛愪腑錛岀敱浜巃cceptor娉ㄥ唽鐢ㄦ帀浜嗕竴涓紝鑰屾垜浠粰瀹氱殑鏈澶х殑handle鏁頒負(fù)2,鎵浠ュ彧鑳芥帴鍙椾竴涓繛鎺ャ?br /> 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍦ㄥ懡浠よ涓嬭緭鍏ワ細(xì)telnet聽127.0.0.1聽1234聽,鍦ㄦ垜浠浜屾杈撳叆鏃訛紝 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍦ㄨ皟鐢╥nt聽nRet聽=聽m_Reactor->register_handler(pEvent,聽ACE_Event_Handler::READ_MASK);鐨勬椂鍊欎竴瀹氫細(xì)澶辮觸銆?br /> 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽浣嗘槸鍦ㄥ懡浠よ涓嬭緭鍏?telnet聽127.0.0.1聽2345聽,鍦ㄦ垜浠涓夋杈撳叆鐨勬椂鍊欙紝璋冪敤register_handler鐨勬椂鍊欐墠浼?xì)澶辫?br /> 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽浣嗘槸榪欐牱鐨勪竴孌典唬鐮佸瓨鍦ㄩ珮cpu鐨勯棶棰橈紝涔熷氨鏄綋鎶婂鎴風(fēng)鍏寵皟鐨勬椂鍊欙紝cpu鍗犵敤鐜囦細(xì)寰堥珮?鎯蟲兂鐪嬶紝涓轟粈涔堝憿錛?br /> 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鏈唬鐮佸彧鏄負(fù)浜嗛獙璇佷竴浜涗笢瑗匡紝鏈夊緢澶氫笉鍚堢悊鐨勫湴鏂癸紝璇峰姟浠跨収銆?br /> * *聽褰撳墠鐗堟湰聽:聽1.0 *聽浣溌犅犅犅犺吢?聽study-record聽聽聽2007-2-22 * ********************************************************************
*/
#include聽
"
ace/Thread_Manager.h
"
#include聽
"
ace/Select_Reactor.h
"
#include聽
"
ace/Reactor.h
"
#include聽
"
ace/Event_Handler.h
"
#include聽
"
ace/SOCK_Acceptor.h
"
#include聽
"
ace/SOCK_Stream.h
"
#include聽
"
ace/INET_Addr.h
"
const
聽size_t聽g_unOneMaxHandle聽
=
聽
2
;
const
聽size_t聽g_unTwoMaxhandle聽
=
聽
4
;
static
聽ACE_THR_FUNC_RETURN聽event_loop_one聽(
void
聽
*
arg)聽
{ 聽聽聽聽ACE_Reactor聽
*
reacator聽
=
聽static_cast
<
ACE_Reactor聽
*>
(arg); 聽聽聽聽reacator
->
owner(ACE_Thread::self()); 聽聽聽聽reacator
->
run_reactor_event_loop(); 聽聽聽聽
return
聽
0
; }
static
聽ACE_THR_FUNC_RETURN聽event_loop_two聽(
void
聽
*
arg)聽
{ 聽聽聽聽ACE_Reactor聽
*
reacator聽
=
聽static_cast
<
ACE_Reactor聽
*>
(arg); 聽聽聽聽reacator
->
owner(ACE_Thread::self()); 聽聽聽聽reacator
->
run_reactor_event_loop(); 聽聽聽聽
return
聽
0
; }
class
聽TestHandleEvent:聽
public
聽ACE_Event_Handler
{
public
: 聽聽聽聽
virtual
聽
int
聽handle_input聽(ACE_HANDLE聽fd聽
=
聽ACE_INVALID_HANDLE) 聽聽聽聽
{ 聽聽聽聽聽聽聽聽ACE_DEBUG((LM_DEBUG,聽
"
TestHandleEvent::handle_input\n
"
)); 聽聽聽聽聽聽聽聽
return
聽
0
; 聽聽聽聽}
; 聽聽聽聽
virtual
聽
int
聽handle_close聽(ACE_HANDLE聽handle,聽ACE_Reactor_Mask聽close_mask) 聽聽聽聽
{ 聽聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽ACE_DEBUG((LM_DEBUG,聽
"
TestHandleEvent::handle_close\n
"
)); 聽聽聽聽聽聽聽聽delete聽
this
; 聽聽聽聽聽聽聽聽
return
聽
0
; 聽聽聽聽}
; 聽聽聽聽ACE_HANDLE聽get_handle(
void
)聽
const
聽 聽聽聽聽
{ 聽聽聽聽聽聽聽聽
return
聽peer.get_handle(); 聽聽聽聽}
public
: 聽聽聽聽ACE_SOCK_Stream聽peer; }
;
class
聽TestAcceptor聽:聽
public
聽ACE_Event_Handler
{
public
: 聽聽聽聽
virtual
聽
int
聽handle_input聽(ACE_HANDLE聽fd聽
=
聽ACE_INVALID_HANDLE) 聽聽聽聽
{ 聽聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽TestHandleEvent
*
聽pEvent聽
=
聽
new
聽TestHandleEvent; 聽聽聽聽聽聽聽聽acceptor.accept(pEvent
->
peer); 聽聽聽聽聽聽聽聽
int
聽nRet聽
=
聽m_Reactor
->
register_handler(pEvent,聽ACE_Event_Handler::READ_MASK); 聽聽聽聽聽聽聽聽
if
聽(
-
1
聽
==
聽nRet) 聽聽聽聽聽聽聽聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽delete聽pEvent; 聽聽聽聽聽聽聽聽聽聽聽聽pEvent聽
=
聽NULL; 聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
return
聽
0
; 聽聽聽聽}
; 聽聽聽聽
virtual
聽
int
聽handle_close聽(ACE_HANDLE聽handle,聽ACE_Reactor_Mask聽close_mask) 聽聽聽聽
{ 聽聽聽聽聽聽聽聽ACE_DEBUG((LM_DEBUG,聽
"
TestAcceptor::handle_close\n
"
)); 聽聽聽聽聽聽聽聽acceptor.close(); 聽聽聽聽聽聽聽聽delete聽
this
; 聽聽聽聽聽聽聽聽
return
聽
0
; 聽聽聽聽}
; 聽聽聽聽 聽聽聽聽 聽聽聽聽TestAcceptor(ACE_Reactor
*
聽reactor):m_Reactor(reactor) 聽聽聽聽
{ 聽聽聽聽聽聽聽聽 聽聽聽聽}
; 聽聽聽聽
int
聽open(unsigned聽
short
聽usport) 聽聽聽聽
{ 聽聽聽聽聽聽聽聽ACE_INET_Addr聽addr(usport); 聽聽聽聽聽聽聽聽acceptor.open(addr); 聽聽聽聽聽聽聽聽
return
聽m_Reactor
->
register_handler(
this
,聽ACE_Event_Handler::ACCEPT_MASK); 聽聽聽聽}
; 聽聽聽聽ACE_HANDLE聽get_handle(
void
)聽
const
聽 聽聽聽聽
{ 聽聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽
return
聽acceptor.get_handle(); 聽聽聽聽}
public
: 聽聽聽聽ACE_SOCK_Acceptor聽acceptor; 聽聽聽聽ACE_Reactor
*
聽m_Reactor; }
;
int
聽main聽(
int
聽argc,聽
char
聽
*
argv[])
{ 聽聽聽聽 聽聽聽聽ACE_Select_Reactor聽select_reactor_one(g_unOneMaxHandle,聽
0
,聽
0
,聽
0
,聽
1
); 聽聽聽聽ACE_Reactor
*
聽reactor_one聽
=
聽
new
聽ACE_Reactor(
&
select_reactor_one); 聽聽聽聽ACE_Select_Reactor聽select_reactor_two(g_unTwoMaxhandle,聽
0
,聽
0
,聽
0
,聽
1
); 聽聽聽聽ACE_Reactor
*
聽reactor_two聽
=
聽
new
聽ACE_Reactor(
&
select_reactor_two); 聽聽聽聽TestAcceptor聽test_acceptor(reactor_one); 聽聽聽聽test_acceptor.open(
1234
); 聽聽聽聽TestAcceptor聽test_acceptorw(reactor_two); 聽聽聽聽test_acceptorw.open(
2345
); 聽聽聽聽 聽聽聽聽 聽聽聽聽ACE_Thread_Manager::instance()
->
spawn(event_loop_one,聽reactor_one); 聽聽聽聽ACE_Thread_Manager::instance()
->
spawn(event_loop_two,聽reactor_two); 聽聽聽聽
return
聽ACE_Thread_Manager::instance()
->
wait(); }
]]>寮傛I/O http://www.shnenglu.com/lijialian/archive/2006/10/07/13410.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Sat, 07 Oct 2006 05:57:00 GMT http://www.shnenglu.com/lijialian/archive/2006/10/07/13410.html http://www.shnenglu.com/lijialian/comments/13410.html http://www.shnenglu.com/lijialian/archive/2006/10/07/13410.html#Feedback 0 http://www.shnenglu.com/lijialian/comments/commentRss/13410.html http://www.shnenglu.com/lijialian/services/trackbacks/13410.html 璧勬簮錛歨ttp://www.zahui.com/html/9/35437.htm ]]> 鍏充簬ACE_TP_Reactor http://www.shnenglu.com/lijialian/archive/2006/10/07/13408.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Sat, 07 Oct 2006 03:29:00 GMT http://www.shnenglu.com/lijialian/archive/2006/10/07/13408.html http://www.shnenglu.com/lijialian/comments/13408.html http://www.shnenglu.com/lijialian/archive/2006/10/07/13408.html#Feedback 0 http://www.shnenglu.com/lijialian/comments/commentRss/13408.html http://www.shnenglu.com/lijialian/services/trackbacks/13408.html 鍦ˋddison-Wesley - C++NetworkProgrammingVol2鐨?.3 The ACE_TP_Reactor Class涓湁榪欐牱鍑犲彞璇濓紝璁╂垜瓚寵凍鎯充簡涓澶┿?br /> 1.Multiple threads running an ACE_TP_Reactor event loop can process
events concurrently on different handles 2.They can also dispatch timeout and I/O callback methods concurrently on the same
event handler 3.The only serialization in the ACE_TP_Reactor occurs when I/O events
occur concurrently on the same handle 4.After a thread obtains a set of active handles from select() , the other
reactor threads dispatch from that handle set instead of calling
select() again 鍏跺疄涓婇潰鐨?鍙ヨ瘽涓昏琛ㄨ揪榪欐牱鐨勫嚑灞傚惈涔?br />1.騫惰澶勭悊涓嶅悓handle涓婄殑浜嬩歡 2.騫惰澶勭悊鍚屼竴event handler涓婄殑瓚呮椂鍥炶皟鍑芥暟鍜孖/O鍥炶皟鍑芥暟 3.澶氫釜綰跨▼涓茶澶勭悊鍚屼竴涓猦andle涓婄殑I/O浜嬩歡銆?br />4.铏界劧TP_Reactor鏄敤leader/follow妯″紡杞祦璋冪敤select,浣嗘槸濡傛灉涓涓猻elect()鑾峰緱浜嗗涓縺媧葷殑handle,閭d箞鍏朵粬鐨勭嚎紼嬩細(xì)鍒嗗彂榪欎簺handle 錛岃屼笉鏄幓鍐嶆璋冪敤select. 聽(榪欑偣榪樻病鏈夋兂閫氾紝涔熸病鏈夌湅瑙佹槸濡備綍瀹炵幇鐨勶紵)鈥滃涓嚎紼嬩覆琛屽鐞嗗悓涓涓猦andle涓婄殑I/O浜嬩歡鈥?/u> 聽聽聽 聽聽 榪欎釜鏄浣曡揪鍒扮殑鍛紵ACE婧愮爜涓紝褰撳鐞咺/O浜嬩歡鐨勬椂鍊欙紝浼?xì)灏?font size="3">HANDLE 鎸傝搗錛屼嬌寰椾笉鍐嶅璇?font size="3">HANDLE 鍋氫簨浠朵睛鍚傛潵杈懼埌鍚屼竴涓?font size="3">handle涓?/font> 鐨処/O浜嬩歡鏄澶氫釜綰跨▼涓茶鍦板鐞嗐?/span>"騫惰澶勭悊鍚屼竴event handler涓婄殑瓚呮椂鍥炴帀鍑芥暟鍜孖/O鍥炶皟鍑芥暟" 聽聽聽 聽聽 榪欐牱濂藉儚灝辨瘮杈冮夯鐑︿簡銆傚洜涓鴻繖灝辨剰鍛崇潃TP_Reactor鍙繚璇佸悓涓涓猦andle涓嬩笉浼?xì)鏈夊绾拷E嬪悓鏃惰皟鐢↖/O浜嬩歡錛屼絾鏄嵈鏈夊彲鑳藉悓鏃惰皟鐢ㄨ秴鏃跺洖璋冨嚱鏁板拰I/O鍥炶皟鍑芥暟銆傚鏋滃湪榪欎袱涓嚱鏁頒腑鏈夊鏁版嵁鐨勮闂拰鎿嶄綔錛岃繖灝辨剰鍛崇潃闇瑕佹湁閿佺殑寮曞叆銆備緥澶栵紝濡傛灉鍦ㄥ畾鏃跺櫒澶勭悊涓紝瓚呰繃瀹氭椂鐨勪簨浠墮棿闅旓紝灝變細(xì)鏈変護(hù)涓涓嚎紼嬪啀嬈¤皟鐢ㄥ畾鏃跺櫒鐨勫鐞嗗嚱鏁幫紝涓涓嬪瓙寮曞叆浜嗗緢澶氬悓姝ョ殑闂銆傚浣曡В鍐寵繖涓棶棰樺憿錛?br /> 鏂規(guī)硶涓錛?br /> 聽聽聽 聽聽聽 聽聽聽 鏇存敼ACE鐨勬簮鐮侊紝璞″鐞唖ocket浜嬩歡涓鏍鳳紝鍦ㄥ鐞嗗畾鏃朵簨浠剁殑鏃跺欙紝涔熸妸HANDLE鎸傝搗銆傛潵鑷猦ttp://cpunion.cnblogs.com/archive/2005/08/09/210941.htmlint ACE_TP_Reactor::handle_timer_events聽(int 聽 & 聽 /* event_count */ , 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ACE_TP_Token_Guard聽 & guard) { 聽聽 // 聽Get聽the聽current聽time 聽聽ACE_Time_Value聽cur_time聽( this -> timer_queue_ -> gettimeofday聽()聽 + 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this -> timer_queue_ -> timer_skew聽()); 聽聽 // 聽Look聽for聽a聽node聽in聽the聽timer聽queue聽whose聽timer聽<=聽the聽present 聽聽 // 聽time. 聽聽ACE_Timer_Node_Dispatch_Info聽info; 聽聽 if 聽( this -> timer_queue_ -> dispatch_info聽(cur_time, 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽info)) 聽聽聽聽{ 聽聽聽聽聽聽聽聽 // 聽********聽fixed聽by聽lijie聽*********** 聽聽聽聽聽聽聽聽 if 聽(info.type_ -> get_handle聽()聽 != 聽ACE_INVALID_HANDLE) 聽聽聽聽聽聽聽聽{ 聽聽聽聽聽聽聽聽聽聽聽聽 if 聽( this -> is_suspended_i聽(info.type_ -> get_handle聽())) 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return 聽 0 ; 聽聽聽聽聽聽聽聽聽聽聽聽 this -> suspend_handler聽(info.type_ -> get_handle聽()); 聽聽聽聽聽聽聽聽} 聽聽聽聽聽聽聽聽 // 聽********聽end聽********************** 聽聽聽聽聽聽const 聽 void 聽 * upcall_act聽 = 聽 0 ; 聽聽聽聽聽聽 // 聽Preinvoke. 聽聽聽聽聽聽 this -> timer_queue_ -> preinvoke聽(info, 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽cur_time, 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽upcall_act); 聽聽聽聽聽聽 聽聽聽聽聽聽 // 聽Release聽the聽token聽before聽dispatching聽notifies 聽聽聽聽聽聽guard.release_token聽(); 聽聽聽聽聽聽 // 聽call聽the聽functor 聽聽聽聽聽聽 this -> timer_queue_ -> upcall聽(info, 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽cur_time); 聽聽聽聽聽聽 // 聽Postinvoke 聽聽聽聽聽聽 this -> timer_queue_ -> postinvoke聽(info, 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽cur_time, 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽upcall_act); 聽聽聽聽聽聽 // 聽We聽have聽dispatched聽a聽timer 聽聽聽聽聽聽 return 聽 1 ; 聽聽聽聽} 聽聽 return 聽 0 ; } handle_timer澶勭悊瀹屼互鍚庯紝榪斿洖浠ュ墠錛屽姞涓婅繖鍙ヨ瘽 this->reactor ()->resume_handler (this->get_handle ()); 褰撶劧鍒繕浜嗕負(fù)Handler緙栧啓get_handle()鍑芥暟錛?br />ACE_HANDLE聽Test_Handler::get_handle聽()聽 const { 聽聽聽聽return 聽 this -> peer聽().get_handle聽(); }
鏂規(guī)硶浜岋細(xì) 聽聽聽 聽聽 聽聽 聽聽 鍒╃敤 ACE_Pipe 鍜?/span>ACE_Message_Queue 鎶婃墍鏈夌殑浜嬩歡閮芥帓闃熷埌鍚屼竴涓?/span>I/O HANDLE 涓婂幓錛屽啀鐢?/span>ACE_TP_Reactor 閫氳繃澶氫釜綰跨▼欏哄簭涓茶鍦?/u> 瑙﹀彂鎴戜滑鏃х殑 event_handler 鏉ュ鐞嗚繖浜涘凡緇忔帓濂介槦鐨勪簨浠?/span>/ 娑堟伅銆傛垜姣旇緝璧炴垚鐢ㄨ繖鏍鋒柟娉曘傝鏂規(guī)硶鏉ヨ嚜錛?/span> http://blog.csdn.net/zhdaniel/archive/2006/06/29/850888.aspx 聽聽聽
聽聽聽 聽聽 鏂規(guī)硶涓夛細(xì) 聽聽聽 聽聽 聽聽 聽聽 ^_^騫茶剢灝變笉瑕佸鍚屼竴涓猠vent聽 handler娉ㄥ唽I/O浜嬩歡鍜屽叾浠栦簨浠躲?br />
]]> 鍏充簬MPC鐨勯棶棰樻敹闆?/title> http://www.shnenglu.com/lijialian/archive/2006/06/24/8949.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Sat, 24 Jun 2006 02:18:00 GMT http://www.shnenglu.com/lijialian/archive/2006/06/24/8949.html http://www.shnenglu.com/lijialian/comments/8949.html http://www.shnenglu.com/lijialian/archive/2006/06/24/8949.html#Feedback 1 http://www.shnenglu.com/lijialian/comments/commentRss/8949.html http://www.shnenglu.com/lijialian/services/trackbacks/8949.html http://www.ociweb.com/products/mpc/faq.html#006 Q :褰撶敓鎴愬伐紼嬫枃浠跺悕縐扮殑鏃跺?鍙互鏀瑰彉宸ョ▼鏂囦歡鐨勫悕縐板悧? A:褰撶敤MPC鐢熸垚宸ョ▼鏂囦歡鐨勬椂鍊?鍙互鐢?name_modifier 閫夐」鏉ヤ慨鏀瑰伐紼嬫枃浠跺悕縐?濡傛灉浣犱篃鎯充慨鏀瑰伐紼嬬殑鍚嶇О,鍙互澧炲姞-apply_project.濡備笅: mwc.pl -static -type vc6 -name_modifier *_Static -apply_project 濡傛灉鐢ㄤ簡榪欎簺閫夐」,鎵鏈夌殑宸ヤ綔絀洪棿,宸ョ▼鏂囦歡鍜屽伐紼嬪悕閮戒互_Static緇撳熬. Q:鎬庢牱鐢∕PC鍦ㄦ瘡涓洰褰曠敓鎴愪竴涓伐浣滅┖闂? A:褰撹繍琛宮wc.pl鐨勬椂鍊欏姞涓?hierarchy閫夐」.瀵逛簬鎵鏈夊熀浜?make'鐨勫伐浣滅┖闂存槸榛樿鐨? Q:鎬庢牱鍛婅瘔MPC鍦ㄥ鎵緈wc鍜宮pc鏂囦歡鏃?涓嶈瀵繪壘鏌愪釜鐗規(guī)畩鐨勮礬寰? A:-exclude鍙互鐢ㄤ簬榪欎釜鐩殑.浣嗘槸榪欎釜璺緞蹇呴』鏄竴涓浉瀵逛簬MPC榪愯鐨勮礬寰?濡? mwc.pl -exclude this_dir,this_dir_too,and_another_dir Q:鎬庢牱鍦ㄦ垜鐨勫伐浣滅┖闂翠腑鐢?value_template A:鍦╩wc鏂囦歡涓?浣犺兘鐢ㄥ緢澶歮wc.pl鐨勫懡浠よ閫夐」.瑕佸姞涓奵mdline鍏抽敭瀛?濡傛灉鍦ㄥ懡浠よ涓渶瑕佹湁絀烘牸,蹇呴』鍖呭惈鍦?"涔嬩腑.濡? workspace { 聽 // Set the command line value to change the configurations with vc6, vc71 and vc8 聽 cmdline += -value_template "configurations='MFC Release' 'MFC Debug'" } Q:鏈夋病鏈夊姙娉曞湪Solaris,宸ョ▼涓寘鍚竴涓枃浠?浣嗘槸鍦↙inux涓婁笉鍖呭惈璇ユ枃浠跺憿? A:浣犲彲浠ョ敤feature瀹氫箟涓涓猙ase宸ョ▼.濡備笅: // config/default.features solaris_only = 0 // some_base.mpb feature(solaris_only) { 聽 Source_Files { 聽聽聽 source1.cpp 聽聽聽 source2.cpp 聽 } }聽 // your_project.mpc project: some_base { 聽 Source_Files { 聽聽聽 source3.cpp 聽聽聽 source4.cpp 聽 } }聽 Q:鍙笉鍙互涓浜涢夐」鐢ㄤ簬鏌愬鎴鋒枃浠?鑰屽彟澶栦竴浜涚敤浜庡叾浠栫殑瀹㈡埛鏂囦歡鍛? A:浣犲彲浠ヤ負(fù)鐢ㄦ埛鐨勮緭鍏ユ枃浠跺垱寤哄涓儴鍒?濡備笅:project: foo { FOO_Files { foo.file } FOO_Files { commandflags += -QR bar.file } } Q:鏈夋病鏈夊姙娉曡〃鏄庣紪璇戦夐」? A:鍙互鐢?specific' .濡? project { 聽 specific(make) { 聽聽聽 compile_flags += -fcheck-new 聽 } 聽 specific(vc71) { 聽聽聽 compile_flags += /wd4103 聽 } }聽 Q:鍦ㄤ竴涓伐浣滅┖闂翠腑,鎯蟲湁闈欐佸拰鍔ㄦ佺殑宸ョ▼? A:鍦╩wc鏂囦歡涓?寤虹珛涓涓煙鑼冨洿.澧炲姞-static鍒板懡浠よ閫夐」.濡? workspace { 聽 // These projects will be static 聽 some_scope_name { 聽聽聽 cmdline += -static 聽聽聽 my_projects_dir聽聽 聽聽聽 my_other_projects_dir 聽 } 聽 // Anything outside the scope will have the command line options provided at the start of mwc.pl 聽 another_dir } Q:鏈夋病鏈夋柟娉曞湪mpc鏂囦歡涓〃鏄庤繖涓簱蹇呴』鏄潤鎬佸簱,鍏朵粬鐨勫簱涓嶈兘鎶婂畠鐢ㄥ仛鍔ㄦ佸簱? A:璁劇疆闈欐佸簱鍚?鑰屽姩鎬佸簱鍚嶄負(fù)絀? project { 聽 sharedname = 聽 staticname = foo } Q:MPC娣誨姞d.lib鍒版墍鏈夌殑搴?鏈夋病鏈夊姙娉曞叧鎺夊畠? A:鍦╩pc鏂囦歡涓敤'lit_libs'浠f浛libs Q:涓簐c6鍜寁c71鐢熸垚闈欐佸伐紼?鍙槸鍗存病鏈夊伐紼嬬殑渚濊禆? A:鍙互閫氳繃璁劇疆MPC_DEPENDENCY_COMBINED_STATIC_LIBRARY鐜鍙橀噺,寮鴻揩MPC鐢熸垚宸ョ▼闂寸浉浜掍緷璧栫殑鐨勯潤鎬佸簱. Q:鏈夋病鏈夋柟娉曞彲浠ュ己鍒跺湪闈欐佸簱鍚嶅悗鏈?s'浣嗘槸debug鐗堟湰娌℃湁'd' A:鏄殑,浣犺兘璁劇疆lib_modifier,鐢ㄨ繖涓厤緗駭浣嶅煙淇敼鍣?鍦ㄤ笅闈㈢殑渚嬪瓙涓?鍋囪-static閫夐」宸茬粡浼犻掔粰浜哅PC project { 聽 // Override the values of 's' and 'sd' respectively. 聽 specific { 聽聽聽 Release::lib_modifier = 聽聽聽 Debug::lib_modifier = d 聽 } }聽 Q:鐢盡PC鐢熸垚鐨刅C71宸ョ▼,鐢╮elease ,鐢熸垚鐨勬墽琛屾枃浠跺湪release鐩綍涓?鑰宒ebug鏄湪"."鐩綍涓?鎬庢牱鎵嶈兘鎶婃墽琛屾枃浠舵斁鍦╠ebug鐩綍涓? 聽聽聽 A: 澧炲姞鏀硅鍒癕PC宸ョ▼涓?br />project {聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽 specific(nmake, vc6, vc7, vc71, vc8) { 聽聽聽 Debug::install = Debug 聽 } } Q:濡備綍鐢熸垚鏀寔MFC鐨勭増鏈?br />A:MPC鐨勫懡浠よ澧炲姞涓嬮潰涓琛?br />-value_template "configurations='MFC Release' 'MFC Debug'" 榪欎釜鍙互鐢ㄤ簬 em3, nmake, vc6, vc7, vc71 鍜?vc8 宸ョ▼綾誨瀷鐨勯厤緗?br />鎻愰啋涓涓嬶紝鍒繕浜嗗垱寤篶onfig.h鏂囦歡錛屽唴瀹圭被浼煎涓嬶細(xì) #include "config-win32.h" #include "config-win32-msvc-7.h" ]]> 緗戠粶緙栫▼鍗? ACE_WFMO_Reactor鐨勫茍鍙戣冭檻 http://www.shnenglu.com/lijialian/archive/2006/06/23/8906.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Fri, 23 Jun 2006 12:48:00 GMT http://www.shnenglu.com/lijialian/archive/2006/06/23/8906.html http://www.shnenglu.com/lijialian/comments/8906.html http://www.shnenglu.com/lijialian/archive/2006/06/23/8906.html#Feedback 0 http://www.shnenglu.com/lijialian/comments/commentRss/8906.html http://www.shnenglu.com/lijialian/services/trackbacks/8906.html 娉ㄥ唽鏀瑰彉鐨勫崗璋?宸叉敞鍐屽彞鏌勯泦鍚堢殑姣忎竴涓敼鍙?灝嗕細(xì)褰卞搷鍒版墍鏈夋墽琛屼簨浠跺驚鐜殑綰跨▼.鍦ㄦ病鏈夊悓姝ョ殑鎯呭喌涓嬪厑璁歌繖浜涙敼鍙樼殑鍙戠敓,浼?xì)瀵艰嚧涓㈠ぷ兒嬩?鎴栦笉姝g‘,涓嶅悎娉曠殑鍙ユ焺琚垎鍙?涓轟簡鍦ㄥ綰跨▼鐨勬儏鍐典笅,姝g‘鐨勫鐞嗘敞鍐屽彂鐢熸敼鍙樼殑鎯呭喌,ACE_WFMO_Reactor緇存寔浜嗕笁涓彞鏌勪俊鎭泦鍚堝璞? 鐢ㄤ綔浜嬩歡渚︽煡鍜屽垎鍙戠殑褰撳墠鍙ユ焺 鏂板彞鏌? 闄や簡褰撳墠鍙ユ焺闆嗗悎,鏂板彞鏌勪篃鍦ㄧ瓑寰?/li> 鎸傝搗鍙ユ焺,鏄綋鍓嶅彞鏌勪腑鎸傝搗鐨勫彞鏌?/li> 褰撻渶瑕佹敼鍙樺凡娉ㄥ唽鐨勫彞鏌勬椂,(渚嬪:娉ㄥ唽,縐婚櫎,鎸傝搗鍜屾仮澶嶄竴涓簨浠跺鐞嗗櫒),瑕佽浣忓彞鏌?浜嬩歡澶勭悊鍣?浜嬩歡綾誨瀷淇℃伅,鍜岀浉鍏充俊鎭殑璁板綍.涓嬩竴涓畬鎴恏andle_events鐨勭嚎紼嬩細(xì)娉ㄦ剰鍒拌繖涓敼鍙?鑾峰彇reactor鐨勯攣,絳夊緟鎵鏈夊叾浠栨鍦ㄨ繍琛宧andle_events鐨勭嚎紼嬪畬鎴?涓轟簡鑳借榪欎簺綰跨▼鍙?qiáng)鏃剁殑瀹屾?絳夊緟鐨勭嚎紼嬪彂閫佷竴涓唴閮ㄤ簨浠?璇ュ唴閮ㄤ簨浠舵槸鍒嗗彂鍙ユ焺闆嗗悎鐨勪竴閮ㄥ垎.鍞ら啋鎵鏈夐樆濉炲湪WaitForMultipleObjects鐨勭嚎紼?榪欎釜鏃跺?鎵鏈夌殑浜嬩歡澶勭悊綰跨▼灝嗕細(xì)闃誨鍦ㄧ瓑寰呭彉鍖栫殑鍙戠敓.褰撳師濮嬬殑綰跨▼瀹屾垚蹇呰鐨勪俊鎭拰鍙ユ焺鏀瑰彉鍚?閲婃斁reactor鐨勯攣.鎵鏈夌殑浜嬩歡澶勭悊綰跨▼閲嶆柊寮濮嬪湪鏇存柊鍚庣殑鍙ユ焺闆嗗悎涓婅繘琛岀瓑寰?鍒嗙鍜屽垎鍙?鎺ㄨ繜浜嬩歡澶勭悊鍣ㄧ殑娓呴櫎.ACE_WFMO_Reactor娉ㄥ唽鏀瑰彉鐨勫歡榪熷紩鍏ヤ簡涓浜涗笌鍩轟簬select()鐨勫弽搴斿櫒鐨勪笉鍚屼箣澶?褰揾anle_*()鏂規(guī)硶榪斿洖-1鎴栬匒CE_Reactor::remove_handler()琚簨浠跺鐞嗗櫒璋冪敤鏃?瀹冩帹榪熶簨浠跺鐞嗗櫒鐨勭Щ闄ゅ拰handle_close()閽╁瓙鍑芥暟鐨勫洖璋?鐩村埌涓婇潰璇磋鐨勬敞鍐屾敼鍙樺彂鐢?鎵浠ヤ竴涓簲鐢ㄥ湪璇鋒眰ACE_WFMO_Reactor縐婚櫎涓涓簨浠跺鐞嗗櫒涔嬪悗,涓嶈兘绔嬪嵆鍒犻櫎璇ヤ簨浠跺鐞嗗櫒,鍚﹀垯reator鍚庢潵璋冪敤鐨刪andle_close()鏂規(guī)硶浼?xì)鍒嗗彂涓涓棤鏁堢殑鎸囬拡. ]]> ACE鐨勭浉鍏崇殑鍑犱釜緗戝潃 http://www.shnenglu.com/lijialian/archive/2006/06/13/8500.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Tue, 13 Jun 2006 07:23:00 GMT http://www.shnenglu.com/lijialian/archive/2006/06/13/8500.html http://www.shnenglu.com/lijialian/comments/8500.html http://www.shnenglu.com/lijialian/archive/2006/06/13/8500.html#Feedback 0 http://www.shnenglu.com/lijialian/comments/commentRss/8500.html http://www.shnenglu.com/lijialian/services/trackbacks/8500.html http://www.cs.wustl.edu/~schmidt/ACE/book1/Errata.txthttp://www.cs.wustl.edu/~schmidt/ACE/book2/Errata.txt 鑻辨枃璁ㄨ緇?br />http://groups.google.com/group/comp.soft-sys.ace http://groups.google.com/group/comp.soft-sys.ace?lnk=oa 涓枃璁ㄨ鍖?br />http://forum.huihoo.com/forumdisplay.php?fid=125 鐩稿叧鏂囨。http://www.cs.wustl.edu/~schmidt/ACE.html 鏈夊叧mpc闂 http://www.ociweb.com/products/mpc/faq.html#021 婧愮爜涓爣璁扮殑鍚箟 http://www.stack.nl/~dimitri/doxygen/commands.html ]]> 闈為樆濉濧cceptor鐨勫姩鏈?/title> http://www.shnenglu.com/lijialian/archive/2006/06/12/8446.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Mon, 12 Jun 2006 03:18:00 GMT http://www.shnenglu.com/lijialian/archive/2006/06/12/8446.html http://www.shnenglu.com/lijialian/comments/8446.html http://www.shnenglu.com/lijialian/archive/2006/06/12/8446.html#Feedback 0 http://www.shnenglu.com/lijialian/comments/commentRss/8446.html http://www.shnenglu.com/lijialian/services/trackbacks/8446.html 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Sidebar 14: Motivation for Nonblocking Acceptors 聽聽聽聽聽聽聽聽 褰撴妸涓涓狝cceptor socket浼犻掔粰select(),濡傛灉鏀跺埌涓涓摼鎺?閭d箞璇ocket琚爣璇嗕負(fù)嬋媧葷姸鎬?寰堝鏈嶅姟鍣ㄥ埄鐢ㄨ繖涓簨浠跺幓琛ㄦ槑鍙互璋冪敤accept(),涓嶄細(xì)寮曡搗闃誨.涓嶅垢鐨勬槸,鏈夋潵鑷猅CP/IP寮傛琛屼負(fù)鐨勮祫婧愮珵浜?鍦ㄥ疄闄呬腑,select()涔嬪悗灝辮〃鏄庝竴涓猘cceptor socket鏄縺媧葷殑(浣嗘槸鍦╝ccept()璋冪敤涔嬪墠),client鍙互鍏抽棴瀹冪殑榪炴帴,涓鏃ccept()闃誨娼滃湪鐨勬寕璧鋒暣涓繘紼?涓轟簡閬垮厤榪欎釜闂,acceptor socket褰撳拰select()涓璧蜂嬌鐢ㄧ殑鏃跺?搴旇涓鐩磋璁劇疆涓洪潪闃誨鐨勬ā寮?/strong>.鍦ˋCE涓?榪欐宸ヤ綔寰堟柟渚?鍙浼犻扐CE_NONBLOCK鏍囪瘑緇檈nable()鏂規(guī)硶灝卞彲浠ヤ簡.enable()鏂規(guī)硶鏄疉CE_IPC_SAP鎻愪緵鐨?鎵浠CE_SOCK_Acceptor涔熸嫢鏈? ]]> error LNK2019:鏃犳硶瑙f瀽鐨勫閮ㄧ鍙?/title> http://www.shnenglu.com/lijialian/archive/2006/06/11/8435.html涓鍔ㄤ笉濡備竴闈?/dc:creator>涓鍔ㄤ笉濡備竴闈?/author>Sun, 11 Jun 2006 15:18:00 GMT http://www.shnenglu.com/lijialian/archive/2006/06/11/8435.html http://www.shnenglu.com/lijialian/comments/8435.html http://www.shnenglu.com/lijialian/archive/2006/06/11/8435.html#Feedback 4 http://www.shnenglu.com/lijialian/comments/commentRss/8435.html http://www.shnenglu.com/lijialian/services/trackbacks/8435.html 2.紜繚ACE.lib鎴朅CEd.lib鑳芥紜殑閾炬帴鍒板伐紼嬩腑. 3.濡傛灉鍑虹幇"__declspec(dllimport) int __cdecl ace_os_main_i"瀛楁牱鐨勯摼鎺ラ敊璇?鍙互鑰冭檻鍔犱笂#include "ace/OS_main.h" ]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
国产精品福利在线观看 |
免费成人毛片 |
国产一区二区三区奇米久涩
|
欧美久久久久久久久久 |
一区二区av在线 |
亚洲视频一起 |
极品尤物av久久免费看 |
欧美激情精品久久久久久大尺度
|
亚洲一区欧美 |
国模套图日韩精品一区二区 |
久久全国免费视频 |
欧美国产精品人人做人人爱 |
亚洲一区二区三区午夜 |
欧美一区二区三区啪啪 |
亚洲美女精品一区 |
亚洲一本视频 |
亚洲国产日韩欧美在线图片 |
亚洲三级观看 |
国产亚洲精品aa |
欧美国产成人精品 |
国产精品视频久久久 |
久久综合一区二区三区 |
欧美三级午夜理伦三级中文幕 |
欧美一区中文字幕 |
欧美激情按摩在线 |
久久激情视频 |
国产精品chinese |
欧美激情一区三区 |
国产日韩欧美一区二区三区四区 |
欧美激情精品 |
国内精品久久久久久影视8 |
91久久久久久国产精品 |
国内精品久久久久伊人av |
亚洲最新在线视频 |
亚洲人成人99网站 |
久久久久久高潮国产精品视 |
亚洲永久在线 |
欧美+亚洲+精品+三区 |
欧美在线www |
国产精品成人aaaaa网站 |
欧美不卡视频 |
一区在线视频观看 |
午夜精品理论片 |
亚洲小视频在线 |
欧美成人性生活 |
麻豆av一区二区三区 |
国产伦精品一区二区三区四区免费
|
在线视频亚洲欧美 |
日韩视频在线观看免费 |
久久精品一区二区三区四区
|
久久综合九九 |
欧美在线观看你懂的 |
欧美小视频在线观看 |
欧美激情中文字幕一区二区 |
黄色一区三区 |
久久精品二区亚洲w码 |
性欧美8khd高清极品 |
欧美日韩一区二区精品 |
亚洲区中文字幕 |
亚洲精品一区在线观看 |
美女脱光内衣内裤视频久久影院
|
欧美好吊妞视频 |
欧美激情一区在线观看 |
亚洲电影av |
欧美成人自拍 |
亚洲国产导航 |
日韩午夜黄色 |
欧美日韩国产美女 |
亚洲手机在线 |
久久精品国产免费观看 |
国内精品久久久久国产盗摄免费观看完整版
|
一区二区三区色 |
欧美日一区二区在线观看 |
亚洲精品日韩在线观看 |
亚洲视频精选在线 |
国产精品毛片大码女人 |
亚洲欧美另类久久久精品2019 |
亚洲欧美激情一区 |
国产日韩精品在线 |
久久精品夜色噜噜亚洲aⅴ |
免费久久99精品国产自在现线 |
在线看成人片 |
欧美刺激性大交免费视频 |
亚洲人成网在线播放 |
一区二区国产在线观看 |
国产精品久久一级 |
性做久久久久久久免费看 |
狼狼综合久久久久综合网 |
亚洲电影免费在线观看 |
欧美日韩一区二区在线 |
亚洲综合视频在线 |
欧美成人蜜桃 |
亚洲综合三区 |
在线日本成人 |
欧美视频一区在线观看 |
欧美一级电影久久 |
亚洲国产天堂久久国产91 |
性8sex亚洲区入口 |
亚洲黄网站黄 |
国产精品一区久久 |
欧美aa在线视频 |
亚洲男女毛片无遮挡 |
欧美国产激情 |
久久久久国产精品一区三寸 |
亚洲精品欧美日韩 |
国产视频综合在线 |
欧美日韩亚洲成人 |
久久久亚洲人 |
亚洲欧美日韩综合国产aⅴ |
亚洲国产精品成人 |
久久久久国产精品人 |
一区二区三区欧美视频 |
一区二区三区亚洲 |
国产精品视频久久 |
欧美精品色综合 |
欧美成人日韩 |
欧美资源在线观看 |
中文有码久久 |
日韩视频永久免费观看 |
精品成人在线观看 |
国产亚洲a∨片在线观看 |
欧美深夜福利 |
欧美欧美全黄 |
男女av一区三区二区色多 |
欧美一区二区三区的 |
一区二区三区精品视频在线观看
|
先锋亚洲精品 |
一区二区久久久久 |
亚洲欧洲日产国产网站 |
国内外成人免费激情在线视频 |
欧美系列电影免费观看 |
欧美裸体一区二区三区 |
免费91麻豆精品国产自产在线观看 |
性色一区二区 |
午夜精品av |
亚洲专区在线 |
亚洲免费在线视频一区 二区 |
亚洲美女av黄 |
亚洲最黄网站 |
99亚洲一区二区 |
99国产成+人+综合+亚洲欧美 |
亚洲欧洲精品一区二区精品久久久 |
蜜臀久久久99精品久久久久久 |
久久久久久久久久码影片 |
久久精品在线观看 |
久久不射网站 |
久久精品免费播放 |
久久精品99国产精品酒店日本 |
欧美在线视频一区二区 |
久久国产精品亚洲va麻豆 |
久久精品国产久精国产思思 |
久久久久高清 |
欧美成人r级一区二区三区 |
欧美成人久久 |
亚洲精品一区中文 |
亚洲视频在线看 |
午夜日韩福利 |
麻豆九一精品爱看视频在线观看免费 |
噜噜噜在线观看免费视频日韩 |
欧美阿v一级看视频 |
欧美精品三级 |
国产精品亚洲一区二区三区在线 |
国产欧美日韩综合一区在线播放 |
国产综合久久久久久鬼色 |
在线欧美影院 |
亚洲一区二区三区精品在线 |
欧美一级理论片 |
蜜臀av国产精品久久久久 |
亚洲国产婷婷综合在线精品 |
一本久道综合久久精品 |
欧美永久精品 |
欧美国产欧美亚州国产日韩mv天天看完整 |
欧美黑人多人双交 |
国产精品欧美经典 |
亚洲国产精品99久久久久久久久 |
日韩亚洲欧美在线观看 |
午夜亚洲精品 |
欧美高清视频在线播放 |
99亚洲一区二区 |
久热精品视频在线 |
国产精品一区二区三区四区 |
亚洲国产第一页 |
午夜精品久久久久久久久久久 |
美女精品网站 |
亚洲小说春色综合另类电影 |
久久香蕉国产线看观看av |
欧美丝袜一区二区 |
亚洲福利视频一区二区 |
亚洲一区在线看 |
欧美黄色视屏 |
欧美主播一区二区三区 |
欧美日韩一区二区三区免费 |
**欧美日韩vr在线 |
久久精品国产亚洲一区二区 |
一区二区免费看 |
免费视频最近日韩 |
国内精品国语自产拍在线观看 |
亚洲一区二区免费在线 |
亚洲精品1区2区 |
亚洲国产欧美精品 |