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;
}