C++ HTTP Stack  0.10
클래스 | 함수
HttpStack

HTTP 통신 라이브러리 더 자세히 ...

클래스

class  CHttpClient
 HTTP 클라이언트 클래스 더 자세히 ...
class  CHttpStackSession
 HTTP 서버의 각 세션 정보를 저장하는 클래스 더 자세히 ...
class  CHttpStack
 HTTP 서버 클래스 더 자세히 ...
class  IHttpStackCallBack
 HTTP 서버 callback 인터페이스 더 자세히 ...
class  CWebSocketPacketHeader
 WebSocket 헤더 정보 저장 클래스 더 자세히 ...
class  CWebSocketPacket
 WebSocket 패킷 파싱 클래스 더 자세히 ...

함수

virtual bool IHttpStackCallBack::RecvHttpRequest (CHttpMessage *pclsRequest, CHttpMessage *pclsResponse)=0
 HTTP 요청 수신 이벤트 callback.
virtual void IHttpStackCallBack::WebSocketConnected (const char *pszClientIp, int iClientPort)=0
 WebSocket 클라이언트 TCP 연결 시작 이벤트 callback.
virtual void IHttpStackCallBack::WebSocketClosed (const char *pszClientIp, int iClientPort)=0
 WebSocket 클라이언트 TCP 연결 종료 이벤트 callback.
virtual bool IHttpStackCallBack::WebSocketData (const char *pszClientIp, int iClientPort, std::string &strData)=0
 WebSocket 클라이언트 데이터 수신 이벤트 callback.
bool CHttpClient::DoGet (const char *pszUrl, std::string &strOutputContentType, std::string &strOutputBody)
 HTTP GET 명령을 실행한다.
bool CHttpClient::DoGet (const char *pszUrl, const char *pszInputContentType, const char *pszInputBody, std::string &strOutputContentType, std::string &strOutputBody)
 HTTP GET 명령을 실행한다.
bool CHttpClient::DoPost (const char *pszUrl, const char *pszInputContentType, const char *pszInputBody, std::string &strOutputContentType, std::string &strOutputBody)
 HTTP POST 명령을 실행한다.
bool CHttpClient::DoPost (const char *pszUrl, HTTP_HEADER_LIST *pclsHeaderList, const char *pszInputContentType, const char *pszInputBody, int iInputBodyLen, std::string &strOutputContentType, std::string &strOutputBody)
 HTTP POST 명령을 실행한다.
bool CHttpClient::DoUpload (const char *pszUrl, const char *pszFilePath, const char *pszPostName, POST_NAME_VALUE_MAP &clsPostDataMap, std::string &strOutputContentType, std::string &strOutputBody)
 HTTP POST 명령으로 파일 업로드한다.
void CHttpClient::SetUserAgent (const char *pszUserAgent)
 User-Agent 헤더에 저장할 문자열을 설정한다.
void CHttpClient::SetRecvTimeout (int iRecvTimeout)
 HTTP 응답 메시지 수신 timeout 시간을 설정한다.
int CHttpClient::GetStatusCode ()
 HTTP 응답 status code 를 리턴한다.
bool CHttpClient2::DoGet (const char *pszUrl, std::string &strOutputContentType, std::string &strOutputBody)
 HTTP GET 명령을 실행한다.
void CHttpClient2::Close ()
 소켓을 종료한다.
void CHttpClient2::SetRecvTimeout (int iRecvTimeout)
 HTTP 응답 메시지 수신 timeout 시간을 설정한다.
int CHttpClient2::GetStatusCode ()
 HTTP 응답 status code 를 리턴한다.
bool CHttpStack::Start (CTcpStackSetup *pclsSetup, IHttpStackCallBack *pclsCallBack)
 HTTP 서버를 시작한다.
bool CHttpStack::Stop ()
bool CHttpStack::SendWebSocketPacket (const char *pszClientIp, int iClientPort, const char *pszData, int iDataLen)
 WebSocket 클라이언트로 데이터를 전송한다.
static void CHttpStack::Release ()
 openssl 알고리즘에 할당된 메모리를 제거한다.
virtual bool CHttpStack::InComingConnected (CTcpSessionInfo *pclsSessionInfo)
 HTTP 클라이언트가 연결 이벤트 핸들러
virtual void CHttpStack::SessionClosed (CTcpSessionInfo *pclsSessionInfo)
 HTTP 클라이언트 세션이 종료 이벤트 핸들러
virtual bool CHttpStack::RecvPacket (char *pszPacket, int iPacketLen, CTcpSessionInfo *pclsSessionInfo)
 TCP 패킷 수신 이벤트 핸들러
bool CWebSocketPacket::AddPacket (const char *pszPacket, int iPacketLen)
 WebSocket 패킷을 저장한다.
bool CWebSocketPacket::GetData (CWebSocketPacketHeader &clsHeader, std::string &strData)
 WebSocket 수신 데이터를 가져온다.

상세한 설명

HTTP 통신 라이브러리

함수 문서화

bool CWebSocketPacket::AddPacket ( const char *  pszPacket,
int  iPacketLen 
)

WebSocket 패킷을 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
true 를 리턴한다.
void CHttpClient2::Close ( )

소켓을 종료한다.

bool CHttpClient2::DoGet ( const char *  pszUrl,
std::string &  strOutputContentType,
std::string &  strOutputBody 
)

HTTP GET 명령을 실행한다.

매개변수
pszUrlHTTP URL (예:http://www.naver.com)
strOutputContentType수신 Content-Type
strOutputBody수신 body
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHttpClient::DoGet ( const char *  pszUrl,
std::string &  strOutputContentType,
std::string &  strOutputBody 
)

HTTP GET 명령을 실행한다.

매개변수
pszUrlHTTP URL (예:http://www.naver.com)
strOutputContentType수신 Content-Type
strOutputBody수신 body
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHttpClient::DoGet ( const char *  pszUrl,
const char *  pszInputContentType,
const char *  pszInputBody,
std::string &  strOutputContentType,
std::string &  strOutputBody 
)

HTTP GET 명령을 실행한다.

매개변수
pszUrlHTTP URL (예:http://wsf.cdyne.com/WeatherWS/Weather.asmx)
pszInputContentType전송 Content-Type
pszInputBody전송 body
strOutputContentType수신 Content-Type
strOutputBody수신 body
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHttpClient::DoPost ( const char *  pszUrl,
const char *  pszInputContentType,
const char *  pszInputBody,
std::string &  strOutputContentType,
std::string &  strOutputBody 
)

HTTP POST 명령을 실행한다.

매개변수
pszUrlHTTP URL (예:http://wsf.cdyne.com/WeatherWS/Weather.asmx)
pszInputContentType전송 Content-Type
pszInputBody전송 body
strOutputContentType수신 Content-Type
strOutputBody수신 body
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHttpClient::DoPost ( const char *  pszUrl,
HTTP_HEADER_LIST *  pclsHeaderList,
const char *  pszInputContentType,
const char *  pszInputBody,
int  iInputBodyLen,
std::string &  strOutputContentType,
std::string &  strOutputBody 
)

HTTP POST 명령을 실행한다.

매개변수
pszUrlHTTP URL (예:http://wsf.cdyne.com/WeatherWS/Weather.asmx)
pclsHeaderList전송 헤더에 포함될 헤더 항목 리스트
pszInputContentType전송 Content-Type
pszInputBody전송 body
iInputBodyLen전송 body 길이
strOutputContentType수신 Content-Type
strOutputBody수신 body
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHttpClient::DoUpload ( const char *  pszUrl,
const char *  pszFilePath,
const char *  pszPostName,
POST_NAME_VALUE_MAP &  clsPostDataMap,
std::string &  strOutputContentType,
std::string &  strOutputBody 
)

HTTP POST 명령으로 파일 업로드한다.

매개변수
pszUrlHTTP URL (예:http://wsf.cdyne.com/WeatherWS/Weather.asmx)
pszFilePath업로드할 파일 경로 ( full path )
pszPostName업로드 파일에 대한 POST 인자(name)
clsPostDataMapPOST 데이터
strOutputContentType수신 Content-Type
strOutputBody수신 body
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CWebSocketPacket::GetData ( CWebSocketPacketHeader clsHeader,
std::string &  strData 
)

WebSocket 수신 데이터를 가져온다.

매개변수
clsHeaderWebSocket 헤더 정보 저장 객체
strDataWebSocket 수신 데이터
반환값
WebSocket 수신 데이터가 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
int CHttpClient2::GetStatusCode ( )

HTTP 응답 status code 를 리턴한다.

반환값
HTTP 응답 status code 를 리턴한다.
int CHttpClient::GetStatusCode ( )

HTTP 응답 status code 를 리턴한다.

반환값
HTTP 응답 status code 를 리턴한다.
bool CHttpStack::InComingConnected ( CTcpSessionInfo pclsSessionInfo)
virtual

HTTP 클라이언트가 연결 이벤트 핸들러

매개변수
pclsSessionInfo세션 정보
반환값
HTTP 클라이언트 연결을 허용하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.

ITcpStackCallBack를 구현.

virtual bool IHttpStackCallBack::RecvHttpRequest ( CHttpMessage pclsRequest,
CHttpMessage pclsResponse 
)
pure virtual

HTTP 요청 수신 이벤트 callback.

매개변수
pclsRequestHTTP 요청 메시지
pclsResponseHTTP 응답 메시지 - 응용에서 저장한다.
반환값
응용에서 HTTP 응답 메시지를 정상적으로 생성하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHttpStack::RecvPacket ( char *  pszPacket,
int  iPacketLen,
CTcpSessionInfo pclsSessionInfo 
)
virtual

TCP 패킷 수신 이벤트 핸들러

매개변수
pszPacket수신 패킷
iPacketLen수신 패킷 길이
pclsSessionInfo세션 정보
반환값
TCP 세션을 유지하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.

ITcpStackCallBack를 구현.

void CHttpStack::Release ( )
static

openssl 알고리즘에 할당된 메모리를 제거한다.

bool CHttpStack::SendWebSocketPacket ( const char *  pszClientIp,
int  iClientPort,
const char *  pszData,
int  iDataLen 
)

WebSocket 클라이언트로 데이터를 전송한다.

매개변수
pszClientIpWebSocket 클라이언트 IP 주소
iClientPortWebSocket 클라이언트 포트 번호
pszDataWebSocket 으로 전송할 payload 데이터
iDataLenWebSocket 으로 전송할 payload 데이터 길이
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
void CHttpStack::SessionClosed ( CTcpSessionInfo pclsSessionInfo)
virtual

HTTP 클라이언트 세션이 종료 이벤트 핸들러

매개변수
pclsSessionInfo세션 정보

ITcpStackCallBack를 구현.

void CHttpClient2::SetRecvTimeout ( int  iRecvTimeout)

HTTP 응답 메시지 수신 timeout 시간을 설정한다.

매개변수
iRecvTimeoutHTTP 응답 메시지 수신 timeout 시간 (초단위)
void CHttpClient::SetRecvTimeout ( int  iRecvTimeout)

HTTP 응답 메시지 수신 timeout 시간을 설정한다.

매개변수
iRecvTimeoutHTTP 응답 메시지 수신 timeout 시간 (초단위)
void CHttpClient::SetUserAgent ( const char *  pszUserAgent)

User-Agent 헤더에 저장할 문자열을 설정한다.

매개변수
pszUserAgentUser-Agent 헤더에 저장할 문자열
bool CHttpStack::Start ( CTcpStackSetup pclsSetup,
IHttpStackCallBack pclsCallBack 
)

HTTP 서버를 시작한다.

매개변수
pclsSetup설정 객체
pclsCallBackcallback 객체
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHttpStack::Stop ( )
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
virtual void IHttpStackCallBack::WebSocketClosed ( const char *  pszClientIp,
int  iClientPort 
)
pure virtual

WebSocket 클라이언트 TCP 연결 종료 이벤트 callback.

매개변수
pszClientIpWebSocket 클라이언트 IP 주소
iClientPortWebSocket 클라이언트 포트 번호
virtual void IHttpStackCallBack::WebSocketConnected ( const char *  pszClientIp,
int  iClientPort 
)
pure virtual

WebSocket 클라이언트 TCP 연결 시작 이벤트 callback.

매개변수
pszClientIpWebSocket 클라이언트 IP 주소
iClientPortWebSocket 클라이언트 포트 번호
virtual bool IHttpStackCallBack::WebSocketData ( const char *  pszClientIp,
int  iClientPort,
std::string &  strData 
)
pure virtual

WebSocket 클라이언트 데이터 수신 이벤트 callback.

매개변수
pszClientIpWebSocket 클라이언트 IP 주소
iClientPortWebSocket 클라이언트 포트 번호
strDataWebSocket 클라이언트가 전송한 데이터
반환값
WebSocket 클라이언트 연결을 유지하려면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.