ACE Beginner

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

ACE beginner

1.download ACE from: www.cs.wustl.edu/~schmidt/ACE.html

2.build ACE in Visual Studio,generate ACE.lib(dll)[for release] & ACEd.lib(dll)[for debug]

3.create a empty project named: ACETest

4.add ACE path into Project Include Path and add ACE/lib into project lib path

5.create a file(hello,cpp)

#ifdef _DEBUG

#pragma comment(lib,"ACED.lib")

#else

#pragma comment(lib,"ACE.lib")

#endif

#include <ace/OS_main.h>

#include <ace/ACE.h>

#include <ace/Log_Msg.h>

#include <ace/SOCK_Connector.h>

int main(int argc, char *argv[])

{

ACE_INET_Addr addr(1500,"127.0.0.1"); //remote address

ACE_SOCK_Connector con; // connetor for socket client

ACE_SOCK_Stream stream; // stream is for socket read/write

if(con.connect(stream,addr)==-1) //connect to remote address

{

ACE_DEBUG ((LM_DEBUG,

ACE_TEXT ("(%P|%t) %p\n"),

ACE_TEXT ("connection failed")));

return 1;

}

const char msg[] = "Hello,ACE!";

stream.send_n(msg,sizeof(msg)); // send_n function send exactly n bytes

char buffer[1024] = {0};

if(stream.recv(buffer,sizeof(buffer)-1)==-1) // just call socket recv

{

ACE_DEBUG ((LM_DEBUG,

ACE_TEXT ("(%P|%t) %p\n"),

ACE_TEXT ("recv failed")));

return 1;

}

ACE_DEBUG ((LM_DEBUG,

ACE_TEXT ("(%P|%t) recv:%s\n"),

buffer));

if (stream.close () == -1) //close the connection

{

ACE_ERROR ((LM_ERROR,

ACE_TEXT ("(%P|%t) %p\n"),

ACE_TEXT ("close")));

return 1;

}

return 0;

}

6.build & execute

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航