base
This commit is contained in:
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
#cp ./test.xml /user/service/logs/cc_statd/fail/cc_statd_20130613131455_1234.xml
|
||||
./testclient localhost 13107 test.xml
|
||||
Executable
+1001
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<CCSTAT>
|
||||
<SERVICE RC="RC_ID" USERSEQ="207" SVCSEQ="347" SVCNAME="nctest">
|
||||
<STAT>
|
||||
<!-- Session Statistics -->
|
||||
<ACCESS TIME="111111">
|
||||
<UP_SUCCESS_COUNT>1</UP_SUCCESS_COUNT>
|
||||
<DOWN_SUCCESS_COUNT>2</DOWN_SUCCESS_COUNT>
|
||||
<UP_AUTH_FAIL_COUNT>3</UP_AUTH_FAIL_COUNT>
|
||||
<DOWN_AUTH_FAIL_COUNT>4</DOWN_AUTH_FAIL_COUNT>
|
||||
<UP_ILLEGAL_REQ_COUNT>5</UP_ILLEGAL_REQ_COUNT>
|
||||
<DOWN_ILLEGAL_REQ_COUNT>6</DOWN_ILLEGAL_REQ_COUNT>
|
||||
<UP_TIMEOUT_COUNT>7</UP_TIMEOUT_COUNT>
|
||||
<DOWN_TIMEOUT_COUNT>8</DOWN_TIMEOUT_COUNT>
|
||||
<UP_DISCONNECT_COUNT>9</UP_DISCONNECT_COUNT>
|
||||
<DOWN_DISCONNECT_COUNT>10</DOWN_DISCONNECT_COUNT>
|
||||
</ACCESS>
|
||||
<!-- Storage Statistics -->
|
||||
<STORAGE TIME="2222222">
|
||||
<STG_SIZE>11</STG_SIZE>
|
||||
<USED_STG_SIZE>22</USED_STG_SIZE>
|
||||
</STORAGE>
|
||||
<!-- Network Statistics -->
|
||||
<NETWORK TIME="333333333">
|
||||
<UP_TRAFFIC>111</UP_TRAFFIC>
|
||||
<DOWN_TRAFFIC>222</DOWN_TRAFFIC>
|
||||
<UP_SIZE>333</UP_SIZE>
|
||||
<DOWN_SIZE>333</DOWN_SIZE>
|
||||
<UP_CONCURRENT_SESS>444</UP_CONCURRENT_SESS>
|
||||
<DOWN_CONCURRENT_SESS>555</DOWN_CONCURRENT_SESS>
|
||||
</NETWORK>
|
||||
<!-- Transfer Statistics -->
|
||||
<TRANSFER TIME="444444444">
|
||||
<SESSION_ID>1111</SESSION_ID>
|
||||
<CONTENT_NAME>2222</CONTENT_NAME>
|
||||
<TRANSFER_SIZE>3333</TRANSFER_SIZE>
|
||||
<DIRECTION>0</DIRECTION>
|
||||
<!-- <DIRECTION>777</DIRECTION> -->
|
||||
<START_DATE>5555</START_DATE>
|
||||
<END_DATE>6666</END_DATE>
|
||||
<REPONSE_CODE>7777</REPONSE_CODE>
|
||||
</TRANSFER>
|
||||
</STAT>
|
||||
<!--
|
||||
<FAIL>
|
||||
<DATABASE TYPE="databaset type1" />
|
||||
<DATABASE TYPE="databaset type2" />
|
||||
</FAIL>
|
||||
-->
|
||||
</SERVICE>
|
||||
</CCSTAT>
|
||||
@@ -0,0 +1,144 @@
|
||||
#include <errno.h>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <fcntl.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <stdlib.h>
|
||||
#include "BaseSocket.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class CServerSocket : public CBaseSocket
|
||||
{
|
||||
public:
|
||||
|
||||
/// @brief 생성자.
|
||||
CServerSocket( const int & socket)
|
||||
: CBaseSocket(socket) { };
|
||||
|
||||
/// @brief 소멸자.
|
||||
~CServerSocket() { Close(); };
|
||||
|
||||
ssize_t ReadEx( void * vptr, size_t size )
|
||||
{ return Read(vptr, size); };
|
||||
|
||||
};
|
||||
|
||||
int main ( int argc, char * argv[] )
|
||||
{
|
||||
if(argc != 4)
|
||||
{
|
||||
cerr << argv[0] << " server port file" << endl;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
CServerSocket server(SOCKET_NOT_VALID);
|
||||
if(server.Connect(argv[1], atoi(argv[2])))
|
||||
{
|
||||
cout << "connected : " << argv[1] << "," << argv[2]<< "," << argv[3] << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout << "failed connection : " << errno << endl;
|
||||
}
|
||||
|
||||
int f = open( argv[3], O_RDONLY );
|
||||
|
||||
string sendval;
|
||||
if(f > 0 )
|
||||
{
|
||||
while(true)
|
||||
{
|
||||
char szBuffer[1024] = {0};
|
||||
int n = 0;
|
||||
if((n = read(f, szBuffer,sizeof(szBuffer))) <=0)
|
||||
break;
|
||||
|
||||
sendval.append(szBuffer,n);
|
||||
}
|
||||
|
||||
close( f );
|
||||
}
|
||||
else
|
||||
{
|
||||
cerr << "The file '"<< argv[3] << "' was not opened" <<endl;
|
||||
}
|
||||
|
||||
cout << "Send Data : " << sendval << ",Size : " << sendval.size () << endl;
|
||||
|
||||
// send header
|
||||
int sH = htonl(sendval.size());
|
||||
if(server.WriteN( &sH, 4 ) > 0)
|
||||
{
|
||||
cout << "Send success.[Header]"<< endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cerr << "Send fail.[Header]" << errno << endl;
|
||||
}
|
||||
|
||||
// send body
|
||||
if(server.WriteN( sendval.c_str(), sendval.size () ) > 0)
|
||||
{
|
||||
cout << "Send success.[Body]"<< endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cerr << "Send fail.[Body]" << errno << endl;
|
||||
}
|
||||
|
||||
// read header
|
||||
int nR = 0;
|
||||
ssize_t r = server.ReadEx( &nR, 4);
|
||||
|
||||
if(r < 0 )
|
||||
{
|
||||
cerr << "Socket Read Error.[Header]" << errno << endl;
|
||||
}
|
||||
else if ( r == 0)
|
||||
{
|
||||
cerr << "Server closed.[Header]" << errno << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
nR = ntohl(nR);
|
||||
|
||||
cout << "Resv success.[Header]," << nR << endl;
|
||||
}
|
||||
|
||||
// read body
|
||||
string readval;
|
||||
while(nR > 0)
|
||||
{
|
||||
char szBuffer[1024] = {0};
|
||||
ssize_t r = server.ReadEx( szBuffer, sizeof(szBuffer) );
|
||||
|
||||
if(r < 0 )
|
||||
{
|
||||
cerr << "Socket Read Error." << errno << endl;
|
||||
break;
|
||||
}
|
||||
else if ( r == 0)
|
||||
{
|
||||
cerr << "Server closed." << errno << endl;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
readval.append(szBuffer, r);
|
||||
}
|
||||
}
|
||||
|
||||
if(!readval.empty())
|
||||
{
|
||||
cout << "Read Data : " << readval << ", Size = " << readval.size() << endl;
|
||||
}
|
||||
|
||||
cout << "end" << endl;
|
||||
|
||||
// 그냥 시그널 대기
|
||||
//pause();
|
||||
|
||||
server.Close();
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
g++ testclient.cpp -o testclient -I./. -I../lib ../lib/libInterCommon.a `pkg-config libxml++-2.6 --cflags --libs`
|
||||
Reference in New Issue
Block a user