x98 pro刷bios工具:ACE中网络通讯编程基本架构
来源:百度文库 编辑:偶看新闻 时间:2024/05/09 08:15:38
ACE_INET_Addr类,包装了网络地址
ACE_SOCK_Connector类,扮演主动连接角色,发起通讯连接。连接到远端的服务。
ACE_SOCK_Acceptor类,扮演被动连接角色,等待连接。等待远端客户的请求。
ACE_SOCK_Stream类,扮演数据通讯角色,发送和接收数据。完成客户与服务之间的通讯。
利用ACE库来开发网络通讯程序是很简单的,一个基本程序只用到以上提到的几个类,就
可以完成一个基于客户端、服务器端模型的网络应用的开发。开发者无需了解Socket在不同平
台上的实现,记忆众多并相互关联的Socket APIs。
以下以一个Hello World程序为演示。
客户端程序。发送一个Hello World到远端的服务器,并接收服务器返回的信息,将信息
打印在屏幕上。
#include服务器端代码。接收一个远端的连接,将接收到的信息打印在屏幕上,并将接收到的信息返回给客户端。#include #include #include #include #include int main( int argc, char* argv[] ){ ACE::init();//初始化ACE库,在windows下一定要 std::string str = "hello world"; //设置服务器地址 //第一个参数是端口,第二个是ip地址,也可以是域名。 //可以先定义一个地址对象,再用ACE_INET_Addr的set函数来设定。 //地址的配置很多,具体的参照文档 ACE_INET_Addr peer_addr( 5050, "127.0.0.1" ); ACE_SOCK_Stream peer_stream;//定义一个通讯队形 ACE_SOCK_Connector peer_connector;//定义一个主动连接对象 peer_connector.connect( peer_stream, peer_addr );//发起一个连接 peer_stream.send( str.c_str(), str.length() );//发送数据到服务器 str.erase(); str.resize( sizeof( "hello world" ) ); peer_stream.recv( (void*)str.c_str(), str.length() );//接收来自服务器的信息 std::cout << "from server message : " << str << std::endl; ACE::fini(); return 0;}
#include××××以上代码需要ACE库才能运转××××#include #include #include #include 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编程的基本框架。
客户端
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)
服务器端
1 创建地址对象。(ACE_INET_Addr)
2 创建被动连接对象。(ACE_SOCK_Connector)
3 创建数据通讯对象。(ACE_SOCK_Stream)
4 设置服务器地址。(ACE_INET_Addr::set)
5 将地址作为参数传给被动连接对象,启动接收(ACE_SOCK_Acceptor::open)
6 将数据通讯对象传给被动连接对象,启动接收,接受连接(ACE_SOCK_Connector::accept)
7 利用通讯对象接收和发送数据。(ACE_SOCK_Stream::recv和ACE_SOCK_Stream::send)
在软件编程中,什么叫做三层架构?
网球比赛中ACE球是什么?
网球中,ACE球是什么意思啊
编程基本问题
C#可以实现模拟IE浏览器通讯或者说是网络通讯编程吗?
制作网站(编程)中的架构是什么啊?
在VB.NET中实现插件架构
学编程需要些什么基本啊?
请教几个编程的基本问题
泉州编程的工资基本都是多少
谁有编程的基本教程
什么是ACE?
ACE是什么意思?
请教网络通讯的机理
什么是网络通讯代理商用户?
哪个网络通讯工具最好
《基本属实》中基本的意思是什么?
请问:网络系统中BS/CS架构是什么意思啊?
谁知道中英人寿的组织架构啊?
三角形ABC中,jiaoACB等于90度,CD是高,在三角形ABC外做角ACE,使角ACE等于角ACD,求CE*CE:BE*BE=BD*AD
有一台ACE牌的Et-1扫描仪在windows2000中不能使用,请求高手指点.
在电网运行中,区域控制偏差(ACE)在什么范围视为正常?
MFC编程中
FLASH中编程问题