锘??xml version="1.0" encoding="utf-8" standalone="yes"?>波多野结衣久久精品,久久免费看黄a级毛片,亚洲欧洲久久久精品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闃呰鍏ㄦ枃

]]>
久久久久18|
精品久久久久久久久午夜福利|
国产一区二区久久久|
乱亲女H秽乱长久久久|
九九久久99综合一区二区|
久久久久这里只有精品
|
精品久久久久久久久久中文字幕|
久久国产影院|
国内精品久久久久伊人av
|
99久久99久久精品免费看蜜桃|
国产精品免费久久久久电影网|
久久精品国产亚洲AV蜜臀色欲|
日韩精品国产自在久久现线拍
|
久久强奷乱码老熟女|
国产成人精品免费久久久久|
色综合久久中文字幕综合网|
国产精品久久久久久影院
|
日韩精品久久久久久久电影蜜臀
|
亚洲精品国产自在久久|
精品国产乱码久久久久久1区2区|
狠狠色丁香婷婷久久综合五月
|
亚洲va中文字幕无码久久|
日本加勒比久久精品|
777久久精品一区二区三区无码|
亚洲国产另类久久久精品小说|
久久午夜福利电影|
九九热久久免费视频|
天天爽天天爽天天片a久久网|
72种姿势欧美久久久久大黄蕉|
一本色综合网久久|
99久久精品国产一区二区|
欧美日韩精品久久久久|
国产精品成人99久久久久91gav|
久久九九全国免费|
人人狠狠综合久久亚洲88|
99久久精品免费观看国产|
91久久国产视频|
久久99精品国产麻豆不卡|
久久久99精品成人片中文字幕|
久久精品成人免费观看97|
久久久久久极精品久久久|