锘??xml version="1.0" encoding="utf-8" standalone="yes"?>一本色道久久综合狠狠躁,亚洲精品国产字幕久久不卡,欧美一区二区久久精品http://www.shnenglu.com/lovelypig/category/1218.html浠g爜鏄拻璇?鎴戞槸欖旀硶甯?/description>zh-cnMon, 19 May 2008 20:49:36 GMTMon, 19 May 2008 20:49:36 GMT60- FTP鎵弿鍣?綰ū涔?http://www.shnenglu.com/lovelypig/archive/2006/12/13/16345.html姍欏瓙姍欏瓙Tue, 12 Dec 2006 16:19:00 GMThttp://www.shnenglu.com/lovelypig/archive/2006/12/13/16345.htmlhttp://www.shnenglu.com/lovelypig/comments/16345.htmlhttp://www.shnenglu.com/lovelypig/archive/2006/12/13/16345.html#Feedback0http://www.shnenglu.com/lovelypig/comments/commentRss/16345.htmlhttp://www.shnenglu.com/lovelypig/services/trackbacks/16345.html闃呰鍏ㄦ枃

]]> - ACE_Rector + UDP 鎶ラ敊. .http://www.shnenglu.com/lovelypig/archive/2006/10/20/13890.html姍欏瓙姍欏瓙Fri, 20 Oct 2006 02:10:00 GMThttp://www.shnenglu.com/lovelypig/archive/2006/10/20/13890.htmlhttp://www.shnenglu.com/lovelypig/comments/13890.htmlhttp://www.shnenglu.com/lovelypig/archive/2006/10/20/13890.html#Feedback0http://www.shnenglu.com/lovelypig/comments/commentRss/13890.htmlhttp://www.shnenglu.com/lovelypig/services/trackbacks/13890.html聽
#include聽
"
stdafx.h
"
#include聽
"
ace/OS_NS_time.h
"
#include聽
"
ace/Log_Msg.h
"
#include聽
"
ace/Reactor.h
"
#include聽
"
ace/Event_Handler.h
"
#include聽
"
ace/INET_Addr.h
"
#include聽
"
ace/SOCK_Dgram.h
"
#include聽
"
ace/TP_Reactor.h
"
#include聽
"
ace/WFMO_Reactor.h
"
class
聽ClientRecv聽:聽
public
聽ACE_Event_Handler

{
public
:

聽聽聽聽
virtual
聽
~
ClientRecv聽()
{}
聽聽聽聽
int
聽open聽(
const
聽ACE_INET_Addr聽
&
bind_addr);

聽聽聽聽
//
聽Get聽this聽handler's聽I/O聽handle.
聽聽聽聽
virtual
聽ACE_HANDLE聽get_handle聽(
void
)聽
const
聽聽聽聽
{聽
return
聽
this
->
udp.get_handle();聽}
聽聽聽聽
virtual
聽
int
聽handle_input聽(ACE_HANDLE聽fd聽
=
聽ACE_INVALID_HANDLE);

聽聽聽聽
//
聽Called聽when聽this聽handler聽is聽removed聽from聽the聽ACE_Reactor.
聽聽聽聽
virtual
聽
int
聽handle_close聽(ACE_HANDLE聽handle,
聽聽聽聽聽聽聽聽ACE_Reactor_Mask聽close_mask);
聽聽聽聽
聽聽聽聽ACE_SOCK_Dgram聽udp;
}
;


int
ClientRecv::open聽(
const
聽ACE_INET_Addr聽
&
bind_addr)

{
聽聽聽聽
if
聽(
this
->
udp.open聽(bind_addr,聽
1
)聽
==
聽
-
1
)
聽聽聽聽聽聽聽聽ACE_ERROR_RETURN聽((LM_ERROR,
聽聽聽聽聽聽聽聽ACE_TEXT聽(
"
%p\n
"
),
聽聽聽聽聽聽聽聽ACE_TEXT聽(
"
udp.open
"
)),
聽聽聽聽聽聽聽聽
-
1
);
聽聽聽聽
聽聽聽聽
return
聽
this
->
reactor聽()
->
register_handler
聽聽聽聽聽聽聽聽(
this
,聽ACE_Event_Handler::READ_MASK聽);
}
int
聽
ClientRecv::handle_close聽(ACE_HANDLE聽handle,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ACE_Reactor_Mask聽close_mask)

{
聽聽聽聽
if
聽(close_mask聽
==
聽ACE_Event_Handler::WRITE_MASK)
聽聽聽聽聽聽聽聽
return
聽
0
;
聽聽聽聽close_mask聽
=
聽ACE_Event_Handler::ALL_EVENTS_MASK聽
|
聽聽聽聽聽聽聽聽ACE_Event_Handler::DONT_CALL;
聽聽聽聽
this
->
reactor聽()
->
remove_handler聽(
this
,聽close_mask);
聽聽聽聽
this
->
udp.close();
聽聽聽聽delete聽
this
;
聽聽聽聽
return
聽
0
;
}
int
聽
ClientRecv::handle_input聽(ACE_HANDLE聽fd聽)

{

聽聽聽聽
char
聽聽buffer[
8192
]聽
=
聽
{
0
}
;
聽聽聽聽ACE_INET_Addr聽聽peer_addr;
聽聽聽聽
if
(
-
1
聽
==
聽
this
->
udp.recv(buffer,
8192
,peer_addr))
聽聽聽聽聽聽聽聽ACE_ERROR_RETURN聽((LM_ERROR,
聽聽聽聽聽聽聽聽ACE_TEXT聽(
"
%p\n
"
),
聽聽聽聽聽聽聽聽ACE_TEXT聽(
"
udp.recv
"
)),
聽聽聽聽聽聽聽聽
-
1
);
聽聽聽聽
聽聽聽聽ACE_DEBUG((LM_INFO,
"
%s\n
"
,peer_addr.get_host_addr()));
聽聽聽聽
return
聽
0
;
}
DWORD聽WINAPI聽LoopThread(LPVOID聽lparam)

{
聽聽聽聽ACE_Reactor::instance聽()
->
run_reactor_event_loop聽();
聽聽聽聽
return
聽聽
0
;
}
int
聽_tmain(
int
聽argc,聽_TCHAR
*
聽argv[])

{
聽聽聽聽ACE_INET_Addr聽bind_addr(
10703
);
聽聽聽聽ClientRecv聽聽client;
聽聽聽聽聽聽聽聽client.reactor(ACE_Reactor::instance聽());聽聽
聽聽聽聽
if
(
-
1
聽
==
聽client.open(bind_addr))

聽聽聽聽
{
聽聽聽聽聽聽聽聽
return
聽
-
1
;
聽聽聽聽}
聽聽聽聽
聽聽聽聽CreateThread(NULL,NULL,LoopThread,
0
,
0
,
0
);
聽聽聽聽ACE_INET_Addr聽send_addr;
聽聽聽聽
for
(
int
聽i
=
1024
;i
<
3333
;i
++
)

聽聽聽聽
{
聽聽聽聽聽聽聽聽ACE_DEBUG((LM_INFO,
"
%d聽\n
"
,i));
聽聽聽聽聽聽聽聽send_addr.
set
(i,
"
192.168.3.147
"
);
聽聽聽聽聽聽聽聽Sleep(
5000
);
聽聽聽聽聽聽聽聽
if
(client.udp.send(
"
ttt
"
,
3
,send_addr)聽
==
聽
-
1
)

聽聽聽聽聽聽聽聽
{
聽聽聽聽聽聽聽聽聽聽聽聽ACE_DEBUG((LM_INFO,
"
%p
"
));
聽聽聽聽聽聽聽聽聽聽聽聽
break
;
聽聽聽聽聽聽聽聽}
聽聽聽聽}
聽聽聽聽system(
"
pause
"
);
聽聽聽聽ACE_Reactor::instance聽()
->
end_reactor_event_loop聽();
聽聽聽聽
return
聽
0
;
}
鎶ラ敊:聽
udp.recv:聽connection聽reset聽
p?:聽handle聽is聽not聽a聽socket聽
鑾潪鍙嶅簲鍣ㄥ彧鑳界敤浜嶵CP? , 娌″姙娉曪紝鍏堢敤WSAAsyncSelect鍚с?
]]>- ACE_NT_Servicehttp://www.shnenglu.com/lovelypig/archive/2006/08/31/11878.html姍欏瓙姍欏瓙Thu, 31 Aug 2006 01:15:00 GMThttp://www.shnenglu.com/lovelypig/archive/2006/08/31/11878.htmlhttp://www.shnenglu.com/lovelypig/comments/11878.htmlhttp://www.shnenglu.com/lovelypig/archive/2006/08/31/11878.html#Feedback2http://www.shnenglu.com/lovelypig/comments/commentRss/11878.htmlhttp://www.shnenglu.com/lovelypig/services/trackbacks/11878.html
#include聽
"
ace/Singleton.h
"
#include聽
"
ace/Mutex.h
"
#include聽
"
ace/Event_Handler.h
"
#include聽
<
ace
/
NT_Service.h
>
#include聽
<
ace
/
Log_Msg.h
>
#include聽
<
iostream
>
using
聽
namespace
聽std;

class
聽MYService:
public
聽ACE_NT_Service

{
聽聽聽聽
bool
聽m_stop;
public
:
聽聽聽聽MYService():ACE_NT_Service(
"
MyACEService_4
"
,
0
,ACE_NT_SERVICE_START_TIMEOUT,

聽聽聽聽聽聽聽聽聽聽聽聽SERVICE_WIN32_OWN_PROCESS聽
|
聽SERVICE_INTERACTIVE_PROCESS),m_stop(
false
)
{
聽聽聽聽聽聽聽聽}
聽聽聽聽
virtual
聽
int
聽svc聽(
void
);
聽聽聽聽
virtual
聽
void
聽handle_control聽(DWORD聽control_code);

聽聽聽聽
virtual
聽
~
MYService()
{}
}
;

typedef聽ACE_Singleton
<
MYService,聽ACE_Mutex
>
聽SERVICE;

int
聽MYService::svc聽(
void
)

{
聽聽聽聽report_status聽(SERVICE_RUNNING);
聽聽聽聽
while
(
!
m_stop)

聽聽聽聽
{
聽聽聽聽聽聽聽聽Sleep(
2000
);
聽聽聽聽聽聽聽聽MessageBox(NULL,
"
aaa
"
,
"
error
"
,
0
);
聽聽聽聽}
聽聽聽聽
return
聽
0
;
}
void
聽MYService::handle_control聽(DWORD聽control_code)

{
聽聽聽聽
if
聽(control_code聽
==
聽SERVICE_CONTROL_SHUTDOWN
聽聽聽聽聽聽聽聽
||
聽control_code聽
==
聽SERVICE_CONTROL_STOP)

聽聽聽聽
{
聽聽聽聽聽聽聽聽report_status聽(SERVICE_STOP_PENDING);
聽聽聽聽聽聽聽聽m_stop聽
=
聽
true
;
聽聽聽聽}
聽聽聽聽ACE_NT_Service::handle_control聽(control_code);
}
ACE_NT_SERVICE_DEFINE聽(MyACEService_4,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽MYService,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ACE_TEXT聽(
"
MyACEService_4
"
));

int
聽main(
int
聽argc,聽_TCHAR
*
聽argv[])

{
聽聽聽聽
聽聽聽聽ACE::init聽();
聽聽聽聽ACE_NT_SERVICE_RUN聽(MyACEService_4,
聽聽聽聽聽聽聽聽SERVICE::instance聽(),
聽聽聽聽聽聽聽聽ret);
聽聽聽聽
聽聽聽聽ACE::fini聽();


/**/
/*
聽聽聽聽瀹夎鏈嶅姟
聽聽聽聽聽聽聽聽聽ACE::init聽();
聽聽聽聽SERVICE::instance()->insert();
聽聽聽聽ACE::fini聽();
*/
聽聽聽聽
return
聽
0
;
}

]]> - ACE鐨勫唴瀛樼鐞?/title>http://www.shnenglu.com/lovelypig/archive/2006/08/30/11851.html姍欏瓙姍欏瓙Wed, 30 Aug 2006 06:43:00 GMThttp://www.shnenglu.com/lovelypig/archive/2006/08/30/11851.htmlhttp://www.shnenglu.com/lovelypig/comments/11851.htmlhttp://www.shnenglu.com/lovelypig/archive/2006/08/30/11851.html#Feedback0http://www.shnenglu.com/lovelypig/comments/commentRss/11851.htmlhttp://www.shnenglu.com/lovelypig/services/trackbacks/11851.html闃呰鍏ㄦ枃

]]>
国产精品成人久久久|
一级做a爰片久久毛片16|
久久夜色撩人精品国产|
色狠狠久久综合网|
久久久久国产精品熟女影院|
91精品国产综合久久婷婷|
日本三级久久网|
一本色道久久综合狠狠躁篇|
久久精品亚洲精品国产色婷|
狠狠久久综合|
久久精品国产亚洲AV高清热|
欧美久久久久久精选9999|
久久精品午夜一区二区福利|
久久久久亚洲爆乳少妇无|
亚洲AV无码久久精品色欲|
国产精品成人99久久久久91gav|
亚洲AV无码久久精品色欲|
久久国产成人午夜aⅴ影院|
久久午夜羞羞影院免费观看|
亚洲人成无码www久久久|
91精品国产高清久久久久久io|
日本精品一区二区久久久|
久久99精品久久久久婷婷|
国产99久久久国产精品小说|
久久99国产精品成人欧美|
国产成人精品久久免费动漫
|
久久99热这里只有精品国产|
无码人妻精品一区二区三区久久
|
久久精品国产99久久久|
热久久视久久精品18|
久久免费99精品国产自在现线
|
亚洲香蕉网久久综合影视|
久久夜色精品国产www|
国产精品99久久久久久宅男|
亚洲国产二区三区久久|
2021久久国自产拍精品|
久久九九精品99国产精品|
久久精品无码专区免费东京热|
久久香综合精品久久伊人|
久久亚洲美女精品国产精品|
久久男人Av资源网站无码软件
|