WEB开发网
开发学院软件开发VC ACE中网络通讯编程基本架构 阅读

ACE中网络通讯编程基本架构

 2010-08-22 20:47:10 来源:WEB开发网   
核心提示:服务器端代码,接收一个远端的连接,ACE中网络通讯编程基本架构(2),将接收到的信息打印在屏幕上,并将接收到的信息返回给客户端,(ACE_SOCK_Stream)4 设置服务器地址,(ACE_INET_Addr::set)5 将数据通讯对象和地址作为参数传给主动连接对象,#include <iostream>

服务器端代码。接收一个远端的连接,将接收到的信息打印在屏幕上,并将接收到的信息返回给客户端。

#include <iostream>
#include <string>
#include <ace/ACE.h>
#include <ace/SOCK_Acceptor.h>
#include <ace/SOCK_Stream.h>
int main( int argc, char* argv[] )
{
ACE::init();
std::string str;
str.resize( sizeof( "hello world" ) );
//设置服务器地址
ACE_INET_Addr peer_addr( 5050, "127.0.0.1" );
ACE_SOCK_Stream peer_stream;
//创建被动连接角色对象
ACE_SOCK_Acceptor peer_acceptor;
//开启被动连接对象,将对象绑定到一个地址上
peer_acceptor.open( peer_addr );
//等待连接
peer_acceptor.accept( peer_stream );
//数据通讯
peer_stream.recv( (void*)str.c_str(), str.length() );
std::cout << "from client message : " << str << std::endl;
peer_stream.send( str.c_str(), str.length() );
ACE::fini();
return 0;
}

××××以上代码需要ACE库才能运转××××

利用ACE编程的基本框架。

客户端

1 创建地址对象。(ACE_INET_Addr)

2 创建主动连接对象。(ACE_SOCK_Connector)

3 创建数据通讯对象。(ACE_SOCK_Stream)

4 设置服务器地址。(ACE_INET_Addr::set)

5 将数据通讯对象和地址作为参数传给主动连接对象,发起主动连接(ACE_SOCK_Connector::connect)

6 利用通讯对象接收和发送数据。(ACE_SOCK_Stream::recv和ACE_SOCK_Stream::send)

Tags:ACE 网络通讯 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接