ACE-IPC(TCP)
来源:互联网 发布:ubuntu不显示wifi 编辑:程序博客网 时间:2024/05/17 00:25
client.cpp
#include "ace/SOCK_Connector.h"
#include "ace/INET_Addr.h"
#include "ace/Log_Msg.h"
#define SIZE_BUF 128
#define NO_ITERATIONS 5
//paramater 127.0.0.1 5555
int main(int argc, char *argv[])
{
ACE_SOCK_Stream client_stream_;
ACE_INET_Addr remote_addr_(5555,"168.192.1.213");
ACE_SOCK_Connector connector_;
char *data_buf_;
data_buf_="12/0";
ACE_DEBUG((LM_DEBUG, "(%P|%t)Starting connect to %s:%d/n", remote_addr_.get_host_name(),remote_addr_.get_port_number()));
if(connector_.connect(client_stream_, remote_addr_)== -1)
ACE_ERROR_RETURN((LM_ERROR,"(%P|%t)%p/n","connection failed"),-1);
else
ACE_DEBUG((LM_DEBUG,"(%P|%t)connected to %s/n", remote_addr_.get_host_name()));
for(int i=0;i<NO_ITERATIONS; i++){
if(client_stream_.send(data_buf_, ACE_OS::strlen(data_buf_)+1, 0)== -1)
{
ACE_ERROR_RETURN((LM_ERROR,"(%P|%t)%p/n","send_n"),0);
break;
}
ACE_DEBUG((LM_DEBUG,"(%P|%t)connected to %d:%s/n",(ACE_OS::strlen(data_buf_)+1) ,data_buf_));
}
if(client_stream_.close()== -1)
ACE_ERROR_RETURN((LM_ERROR,"(%P|%t)%p/n","close"),-1);
return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
server.cpp
#include "ace/SOCK_Acceptor.h"
#include "ace/SOCK_Stream.h"
#include "ace/Log_Msg.h"
#define SIZE_DATA 3
#define SIZE_BUF 1024
#define NO_ITERATIONS 5
//paramater 5555
int main(int argc, char *argv[])
{
char *data_buf_;
ACE_INET_Addr server_addr_(5555);
ACE_INET_Addr client_addr_;
ACE_SOCK_Acceptor peer_acceptor_(server_addr_);
ACE_SOCK_Stream new_stream_;
data_buf_=new char[SIZE_BUF];
if(peer_acceptor_.get_local_addr(server_addr_)== -1)
ACE_ERROR_RETURN((LM_ERROR,"%p/n","Error in get_local_addr"),1);
ACE_DEBUG((LM_DEBUG,"Starting server at port %d/n", server_addr_.get_port_number()));
// Performs the iterative server activities.
while(1){
ACE_Time_Value timeout(50);
if(peer_acceptor_.accept(new_stream_, &client_addr_, &timeout)== -1)
{
ACE_ERROR((LM_ERROR, "%p/n", "accept"));
continue;
}else {
ACE_DEBUG((LM_DEBUG, "Connection established with remote %s:%d/n", client_addr_.get_host_name(),client_addr_.get_port_number()));
for(int i=0;i<NO_ITERATIONS;i++)
{
int byte_count=0;
if((byte_count=new_stream_.recv(data_buf_, SIZE_DATA, 0))==-1)
ACE_ERROR((LM_ERROR, "%p/n", "Error in recv"));
else
{
data_buf_[byte_count]=0;
ACE_DEBUG((LM_DEBUG,"Server received%d: %s:%d /n",byte_count,data_buf_,ACE_OS::strlen(data_buf_)));
}
}
// Close new endpoint
if(new_stream_.close()== -1)
ACE_ERROR((LM_ERROR, "%p/n", "close"));
}
}
return 0;
}
- ACE-IPC(TCP)
- ACE-IPC(UDP)
- ACE-IPC(MULTICAST)
- ACE 的IPC 种类
- ACE网络编程笔记(2):IPC SAP、ACE_SOCKET和TCP/IP通信实例
- ACE源码示例 - IPC SAP
- ACE中TCP通信
- ACE中TCP通信
- ACE的TCP通信
- ACE中TCP通信
- ACE中TCP通信
- ACE中TCP通信
- ace中tcp连接
- ACE中TCP通信
- ACE中TCP通信
- ACE中TCP通信
- ACE中TCP通信
- ACE中的TCP通讯
- 杂谈
- 上面这些是每天对房间的预约(已经预定)
- 软件设计十七法则
- jakarta commons-net ftp的例子
- JS结合数据库的二级联动菜单
- ACE-IPC(TCP)
- ACE-IPC(UDP)
- Excel中巧用函数对文本型数值求和
- ACE-IPC(MULTICAST)
- csdn,我回来了
- 宿命论? 信不~~
- 点一支烟时
- C# 泛型简介
- AJAX框架介绍