00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "liasclient.hpp"
00019 #include <sstream>
00020 #include <iostream>
00021
00022 #include <ace/Message_Block.h>
00023 #include <ace/Date_Time.h>
00024 #include <ace/OS.h>
00025
00026 #define PORT 9999
00027 #define HOST "localhost"
00028
00029 using namespace std;
00030
00031
00032 LiasClientN::Client::Client(){
00033 }
00034
00035 LiasClientN::Client::~Client()
00036 {
00037 if(_myconnector){
00038 _myconnector->close();
00039 delete _myconnector;
00040 _myconnector=0;
00041 }
00042 };
00043
00044 int
00045 LiasClientN::Client::open(void*)
00046 {
00047 ACE_DEBUG( (LM_DEBUG, " (%t) connection ESTABLISHED \n") );
00048
00049 return 0;
00050 };
00051
00052
00053
00054 int
00055 LiasClientN::Client::connect(std::string host, unsigned int port)
00056 {
00057 ACE_INET_Addr addr(port,host.c_str());
00058 _myconnector = new Connector();
00059
00060 Client *pointer_to_self = this;
00061
00062 int result = _myconnector->connect(pointer_to_self, addr);
00063 if (result == -1)
00064 ACE_DEBUG((LM_DEBUG,"Connection FAILED \n"));
00065 return result;
00066 };
00067
00068 int
00069 LiasClientN::Client::sendCommand(std::string command)
00070 {
00071
00072
00073 const char* charstr = command.c_str();
00074
00075
00076
00077
00078 peer().send_n(charstr, strlen(charstr));
00079
00080
00081 return 0;
00082 };
00083
00084
00085
00086
00087
00088 std::string
00089 LiasClientN::Client::receiveData(){
00090
00091 int count;
00092 count=0;
00093 while(peer().recv_n ((&_buff), 1)!=0) {
00094 if (_buff == '\n')
00095 {
00096
00097 _serverData[count++]=_buff;
00098
00099
00100
00101 _dataString = _serverData;
00102 return _dataString;
00103 }
00104 else if (_buff == '\0' || _buff == 10) {
00105
00106 }
00107 else ;
00108
00109
00110 _serverData[count++]=_buff;
00111 }
00112 return "\0";
00113
00114 };
00115
00116
00117 void
00118 LiasClientN::Client::close(void* param=0){
00119
00120 if(_myconnector)
00121 {
00122 _myconnector->close();
00123 delete _myconnector;
00124 _myconnector=0;
00125 }
00126 };