ACE中的TCP通讯
来源:互联网 发布:淘宝装修用什么版本? 编辑:程序博客网 时间:2024/06/06 14:20
ACE中的TCP通讯,不罗嗦,直接上代码。
服务器代码:
#include "ace/SOCK_Acceptor.h"#include "ace/SOCK_Stream.h"#include "ace/INET_Addr.h"#include "ace/Time_Value.h"#include <string>#include <iostream>using namespace std;int main(int argc, char *argv[]) { ACE_INET_Addr port_to_listen(3000); //绑定的端口 ACE_SOCK_Acceptor acceptor; if (acceptor.open (port_to_listen, 1) == -1) //绑定端口 { cout<<endl<<"bind port fail"<<endl; return -1; } while(true) { ACE_SOCK_Stream peer; //和客户端的数据通路 ACE_Time_Value timeout (10, 0); if (acceptor.accept (peer) != -1) //建立和客户端的连接 { cout<<endl<<endl<<"client connect. "<<endl; char buffer[1024]; ssize_t bytes_received; ACE_INET_Addr raddr; peer.get_local_addr(raddr); cout<<endl<<"local port\t"<<raddr.get_host_name()<<"\t"<<raddr.get_port_number()<<endl; while ((bytes_received = peer.recv (buffer, sizeof(buffer))) != -1) //读取客户端发送的数据 { peer.send(buffer, bytes_received); //对客户端发数据 } peer.close (); } } return 0; }
客户端代码:
#include <ace/SOCK_Stream.h>#include <ace/SOCK_Connector.h> #include <ace/INET_Addr.h>#include <ace/Time_Value.h> #include <string>#include <iostream>using namespace std;int main(int argc, char *argv[]) { ACE_INET_Addr addr(3000,"127.0.0.1"); ACE_SOCK_Connector connector; ACE_Time_Value timeout(5,0); ACE_SOCK_Stream peer; if(connector.connect(peer,addr,&timeout) != 0) { cout<<"connection failed !"<<endl; return 1; } cout<<"conneced !"<<endl; string s="hello world"; peer.send(s.c_str(),s.length()); //发送数据 cout<<endl<<"send:\t"<<s<<endl; ssize_t bc=0; //接收的字节数 char buf[1024]; bc=peer.recv(buf,1024,&timeout); //接收数据 if(bc>=0) { buf[bc]='\0'; cout<<endl<<"recv:\t"<<buf<<endl; } peer.close();getchar(); return 0; }
编译执行,结果如下。
服务器:
client connect.
local port localhost 3000
客户端:
conneced !
send: hello world
recv: hello world
参考:
http://www.cnblogs.com/TianFang/archive/2006/12/07/585095.html
0 0
- ACE中的TCP通讯
- ACE中的UDP通讯
- ACE中的TCP Socket编程
- VC中的socket通讯例程(TCP协议)
- ACE中的完成端口TCP连接数和带宽关系
- TCP通讯
- TCP通讯
- TCP通讯
- TCP通讯
- tcp通讯
- ACE-IPC(TCP)
- ACE中TCP通信
- ACE中TCP通信
- ACE的TCP通信
- ACE中TCP通信
- ACE中TCP通信
- ACE中TCP通信
- ace中tcp连接
- 机器学习之正则化与交叉验证
- 编程题目:PAT 1008. 数组元素循环右移问题 (20)
- HDU 4620 - Fruit Ninja Extreme (DFS)
- Android中应用界面主题Theme使用方法和页面定时跳转应用
- PHP模块 Memcached功能多于Memcache
- ACE中的TCP通讯
- 解决VTune错误The Data Cannot be displayed, there is no viewpoint available for data
- 使用GDAL库中的RPC校正问题
- 给商品模型添加搜索设定
- The nature of C++
- 新书《Linux就是这个范儿》预售
- linux 端口使用情况
- java线程间通讯
- 下标运算符的重载