C++ HTTP Stack
0.10
|
TCP 통신 라이브러리 더 자세히 ...
클래스 | |
class | CTcpClientIndex |
TCP 쓰레드 정보 더 자세히 ... | |
class | CTcpClientInfo |
TCP 클라이언트 정보 더 자세히 ... | |
class | CTcpClientMap |
TCP 클라이언트로 연결하여서 TCP 패킷을 전송하는 클래스 더 자세히 ... | |
class | CTcpClientArg |
TCP 클라이언트 쓰레드 실행 인자 더 자세히 ... | |
class | ITcpSessionApp |
TCP 세션별로 응용에서 사용할 변수를 위한 인터페이스 더 자세히 ... | |
class | CTcpSessionInfo |
TCP 쓰레드 별로 관리하는 TCP 세션 정보 더 자세히 ... | |
class | CTcpSessionList |
TCP 쓰레드 별로 관리하는 TCP 세션 정보를 저장하는 클래스 - m_bUseThreadPipe 가 true 일 때에 사용된다. 더 자세히 ... | |
class | CTcpSessionMap |
TCP 세션 정보를 저장하는 클래스 - m_bUseThreadPipe 가 false 일 때에 사용되는 클래스 더 자세히 ... | |
class | CTcpStack |
TCP listen / connect 및 수신/전송 클래스 더 자세히 ... | |
class | ITcpStackCallBack |
CTcpStack 을 사용하는 응용 callback 인터페이스 더 자세히 ... | |
class | CTcpStackSetup |
TCP stack 설정 더 자세히 ... | |
class | CTcpComm |
TCP 쓰레드에 TCP 세션을 전달할 때에 사용되는 클래스 - m_bUseThreadPipe 가 true 일 때에 사용된다. 더 자세히 ... | |
class | CTcpThreadInfo |
쓰레드 리스트에 포함되는 하나의 쓰레드 정보 저장 클래스 더 자세히 ... | |
class | CTcpThreadList |
쓰레드 리스트 자료구조 더 자세히 ... |
함수 | |
bool | SetupFileLog (CFileLog &clsFileLog, CXmlElement &clsElement) |
Xml element 의 설정값들로 CFileLog 를 시작한다. | |
THREAD_API | TcpClientThread (LPVOID lpParameter) |
TCP 연결 Thread. | |
bool | StartTcpClientThread (const char *pszIp, int iPort, CTcpStack *pclsStack) |
TCP 연결 Thread 를 시작한다. | |
THREAD_API | TcpListenThread (LPVOID lpParameter) |
TCP 서버 쓰레드 | |
bool | IsTcpListenThreadRun () |
TCP listen 쓰레드가 실행중인가? | |
THREAD_API | TcpNoPipeThread (LPVOID lpParameter) |
pipe 를 사용하지 않는 TCP 세션 쓰레드 함수 - m_bUseThreadPipe 가 false 일 때에 사용된다. | |
THREAD_API | TcpPipeThread (LPVOID lpParameter) |
TCP 세션을 위한 쓰레드 함수 | |
virtual bool | ITcpStackCallBack::InComingConnected (CTcpSessionInfo *pclsSessionInfo)=0 |
TCP 클라이언트가 연결 이벤트 핸들러 | |
virtual void | ITcpStackCallBack::SessionClosed (CTcpSessionInfo *pclsSessionInfo)=0 |
TCP 클라이언트 세션이 종료 이벤트 핸들러 | |
virtual bool | ITcpStackCallBack::RecvPacket (char *pszPacket, int iPacketLen, CTcpSessionInfo *pclsSessionInfo)=0 |
TCP 패킷 수신 이벤트 핸들러 | |
virtual bool | ITcpStackCallBack::IsSendAll (CTcpSessionInfo *pclsSessionInfo) |
SendAll 로 전송해도 되는 세션인지 검사한다. | |
virtual void | ITcpStackCallBack::AfterSendAllPerSession (CTcpSessionInfo *pclsSessionInfo, const char *pszPacket, int iPacketLen) |
SendAll 로 전송할 때에 세션당 Send 함수 호출후, 호출되는 이벤트 핸들러 | |
bool | SSLServerStart (const char *szCertFile) |
SSL 서버 라이브러리를 시작한다. | |
bool | SSLServerStop () |
SSL 서버 라이브러리를 종료한다. | |
bool | SSLClientStart () |
SSL 클라이언트 라이브러리를 시작한다. | |
bool | SSLClientStop () |
SSL 클라이언트 라이브러리를 종료한다. | |
void | SSLFinal () |
프로세스가 종료될 때에 최종적으로 실행하여서 openssl 메모리 누수를 출력하지 않는다. | |
bool | SSLAccept (Socket iFd, SSL **ppsttSsl, bool bCheckClientCert, int iVerifyDepth, int iAcceptTimeout) |
클라이언트 SSL 접속 요청을 허용한다. | |
int | SSLSend (SSL *ssl, const char *szBuf, int iBufLen) |
SSL 프로토콜로 패킷을 전송한다. | |
int | SSLRecv (SSL *ssl, char *szBuf, int iBufLen) |
SSL 프로토콜로 수신된 패킷을 읽는다. | |
bool | SSLClose (SSL *ssl) |
SSL 세션을 종료한다. | |
void | SSLPrintLogServerCipherList () |
SSL 서버에서 사용되는 cipher list 를 로그로 출력한다. | |
void | SSLPrintLogClientCipherList () |
SSL 클라이언트에서 사용되는 cipher list 를 로그로 출력한다. | |
bool | CTcpClientMap::Create (CTcpStack *pclsStack) |
CTcpStack 객체를 설정한다. | |
bool | CTcpClientMap::Send (const char *pszIp, int iPort, const char *pszPacket, int iPacketLen, bool bConnectIfNoSession) |
TCP 서버에 연결하여서 TCP 패킷을 전송한다. | |
bool | CTcpClientMap::Delete (const char *pszIp, int iPort) |
TCP 연결 정보를 삭제한다. | |
bool | CTcpClientMap::DeleteSendPacketList (const char *pszIp, int iPort, SEND_PACKET_LIST &clsList) |
TCP 연결 후, 전송할 패킷 리스트를 삭제한다. | |
bool | CTcpClientMap::SetConnected (const char *pszIp, int iPort, int iThreadIndex, int iSessionIndex) |
TCP 연결됨으로 설정한다. | |
bool | CTcpClientMap::Insert (const char *pszIp, int iPort, int iThreadIndex, int iSessionIndex) |
TCP 연결을 저장한다. | |
bool | CTcpSessionInfo::Send (const char *pszPacket, int iPacketLen) |
TCP 패킷을 전송한다. | |
void | CTcpSessionInfo::Log (const char *pszPacket, int iPacketLen, bool bSend) |
TCP 전송/수신에 대한 로그를 출력한다. | |
void | CTcpSessionInfo::Clear () |
세션 정보를 초기화시킨다. | |
bool | CTcpSessionList::Init (int iThreadIndex, int iPollFdMax) |
TCP 세션 정보를 초기화시킨다. | |
bool | CTcpSessionList::Insert (Socket hSocket) |
TCP 소켓을 추가한다. | |
int | CTcpSessionList::Insert (CTcpComm &clsTcpComm) |
TCP 세션 정보를 추가한다. | |
bool | CTcpSessionList::Delete (int iIndex) |
TCP 세션 정보를 삭제한다. | |
void | CTcpSessionList::DeleteAll () |
모든 TCP 세션 정보를 삭제한다. | |
void | CTcpSessionList::DeleteTimeout (int iTimeout, int iNoPacketTimeout, void(*BeforeDelete)(CTcpSessionList *pclsSessionList, int iIndex, void *pclsArg), void *pclsArg) |
TCP 수신 timeout 이 발생한 TCP 세션을 종료시킨다. | |
bool | CTcpSessionList::Send (int iIndex, const char *pszPacket, int iPacketLen) |
특정 세션에 패킷을 전송한다. | |
bool | CTcpSessionList::SendAll (const char *pszPacket, int iPacketLen, ITcpStackCallBack *pclsCallBack) |
모든 세션에 패킷을 전송한다. | |
bool | CTcpSessionList::SendAllExcept (const char *pszPacket, int iPacketLen, ITcpStackCallBack *pclsCallBack, int iThreadIndex, int iSessionIndex) |
모든 세션에 패킷을 전송한다. | |
bool | CTcpSessionMap::Insert (const char *pszIp, int iPort, CTcpSessionInfo *pclsSessionInfo) |
TCP 세션 정보를 저장한다. | |
bool | CTcpSessionMap::Delete (const char *pszIp, int iPort) |
TCP 세션 정보를 삭제한다. | |
int | CTcpSessionMap::GetCount () |
세션 개수를 리턴한다. | |
bool | CTcpSessionMap::Send (const char *pszIp, int iPort, const char *pszPacket, int iPacketLen) |
특정 세션에 TCP 패킷을 전송한다. | |
bool | CTcpSessionMap::Send (int iThreadIndex, const char *pszPacket, int iPacketLen) |
특정 세션에 TCP 패킷을 전송한다. | |
bool | CTcpSessionMap::SendAll (const char *pszPacket, int iPacketLen, ITcpStackCallBack *pclsCallBack) |
모든 세션에 TCP 패킷을 전송한다. | |
bool | CTcpSessionMap::SendAllExcept (const char *pszPacket, int iPacketLen, ITcpStackCallBack *pclsCallBack, int iThreadIndex, int iSessionIndex) |
특정 세션을 제외한 모든 세션에 TCP 패킷을 전송한다. | |
bool | CTcpStack::Start (CTcpStackSetup *pclsSetup, ITcpStackCallBack *pclsCallBack) |
TCP stack 을 시작한다. | |
bool | CTcpStack::Stop () |
TCP stack 을 중지한다. | |
bool | CTcpStack::Send (const char *pszIp, int iPort, const char *pszPacket, int iPacketLen, bool bConnectIfNoSession) |
특정 세션에 TCP 패킷을 전송한다. | |
bool | CTcpStack::Send (int iThreadIndex, int iSessionIndex, const char *pszPacket, int iPacketLen) |
특정 세션에 TCP 패킷을 전송한다. | |
bool | CTcpStack::SendAll (const char *pszPacket, int iPacketLen) |
모든 세션에 TCP 패킷을 전송한다. | |
bool | CTcpStack::SendAllExcept (const char *pszPacket, int iPacketLen, int iThreadIndex, int iSessionIndex) |
특정 세션을 제외한 모든 세션에 TCP 패킷을 전송한다. | |
bool | CTcpStackSetup::Parse (CXmlElement &clsXml) |
XML element 에서 TCP stack 설정 사항을 가져온다. | |
void | CTcpThreadInfo::Close () |
소켓을 종료한다. | |
bool | CTcpThreadList::Create (CTcpStack *pclsStack) |
쓰레드 리스트를 시작한다. | |
void | CTcpThreadList::Destroy () |
쓰레드 리스트를 종료한다. | |
bool | CTcpThreadList::SendCommand (const char *pszData, int iDataLen) |
쓰레드에 명령을 전송한다. | |
bool | CTcpThreadList::SendCommand (const char *pszData, int iDataLen, int iThreadIndex) |
지정된 쓰레드 번호의 쓰레드로 명령을 전송한다. | |
void | CTcpThreadList::SendCommandAll (const char *pszData, int iDataLen) |
모든 쓰레드에 명령을 전달한다. | |
static int | CTcpThreadList::RecvCommand (Socket hSocket, char *pszData, int iDataSize) |
명령을 수신한다. | |
bool | CTcpThreadList::Send (int iThreadIndex, int iSessionIndex, const char *pszPacket, int iPacketLen) |
특정 세션에 TCP 패킷을 전송한다. | |
bool | CTcpThreadList::SendAll (const char *pszPacket, int iPacketLen, ITcpStackCallBack *pclsCallBack) |
모든 세션에 TCP 패킷을 전송한다. | |
bool | CTcpThreadList::SendAllExcept (const char *pszPacket, int iPacketLen, ITcpStackCallBack *pclsCallBack, int iThreadIndex, int iSessionIndex) |
모든 세션에 TCP 패킷을 전송한다. | |
void | CTcpThreadList::DeleteNoUseThread () |
TCP 클라이언트와 연결되지 않은 쓰레드를 삭제한다. | |
bool | CTcpThreadList::DeleteThread (int iThreadIndex) |
쓰레드 정보를 삭제한다. | |
void | CTcpThreadList::GetString (CMonitorString &strBuf) |
쓰레드 정보를 하나의 문자열에 저장한다. |
TCP 통신 라이브러리
|
inlinevirtual |
SendAll 로 전송할 때에 세션당 Send 함수 호출후, 호출되는 이벤트 핸들러
pclsSessionInfo | 세션 정보 |
pszPacket | 전송한 패킷 |
iPacketLen | 전송 패킷 길이 |
void CTcpSessionInfo::Clear | ( | ) |
세션 정보를 초기화시킨다.
void CTcpThreadInfo::Close | ( | ) |
소켓을 종료한다.
bool CTcpClientMap::Create | ( | CTcpStack * | pclsStack | ) |
bool CTcpThreadList::Create | ( | CTcpStack * | pclsStack | ) |
bool CTcpSessionMap::Delete | ( | const char * | pszIp, |
int | iPort | ||
) |
TCP 세션 정보를 삭제한다.
pszIp | 클라이언트 IP 주소 |
iPort | 클라이언트 포트 번호 |
bool CTcpClientMap::Delete | ( | const char * | pszIp, |
int | iPort | ||
) |
TCP 연결 정보를 삭제한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
bool CTcpSessionList::Delete | ( | int | iIndex | ) |
TCP 세션 정보를 삭제한다.
iIndex | TCP 세션 인덱스 |
void CTcpSessionList::DeleteAll | ( | ) |
모든 TCP 세션 정보를 삭제한다.
void CTcpThreadList::DeleteNoUseThread | ( | ) |
TCP 클라이언트와 연결되지 않은 쓰레드를 삭제한다.
bool CTcpClientMap::DeleteSendPacketList | ( | const char * | pszIp, |
int | iPort, | ||
SEND_PACKET_LIST & | clsList | ||
) |
TCP 연결 후, 전송할 패킷 리스트를 삭제한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
clsList | TCP 연결 후, 전송할 패킷 리스트 저장 변수 |
bool CTcpThreadList::DeleteThread | ( | int | iThreadIndex | ) |
쓰레드 정보를 삭제한다.
iThreadIndex | 쓰레드 인덱스 |
void CTcpSessionList::DeleteTimeout | ( | int | iTimeout, |
int | iNoPacketTimeout, | ||
void(*)(CTcpSessionList *pclsSessionList, int iIndex, void *pclsArg) | BeforeDelete, | ||
void * | pclsArg | ||
) |
TCP 수신 timeout 이 발생한 TCP 세션을 종료시킨다.
iTimeout | TCP 수신 timeout 시간 (초단위) |
iNoPacketTimeout | TCP 연결 후, 패킷이 수신되지 않은 경우의 timeout 시간 (초단위) |
BeforeDelete | 삭제하기 전에 호출하는 callback 함수 |
pclsArg | 응용 프로그램 변수 |
void CTcpThreadList::Destroy | ( | ) |
쓰레드 리스트를 종료한다.
int CTcpSessionMap::GetCount | ( | ) |
세션 개수를 리턴한다.
void CTcpThreadList::GetString | ( | CMonitorString & | strBuf | ) |
쓰레드 정보를 하나의 문자열에 저장한다.
strBuf | 쓰레드 정보를 저장할 문자열 변수 |
|
pure virtual |
TCP 클라이언트가 연결 이벤트 핸들러
pclsSessionInfo | 세션 정보 |
CHttpStack에서 구현되었습니다.
bool CTcpSessionList::Init | ( | int | iThreadIndex, |
int | iPollFdMax | ||
) |
TCP 세션 정보를 초기화시킨다.
iThreadIndex | thread index |
iPollFdMax | TCP 세션 개수 |
bool CTcpSessionMap::Insert | ( | const char * | pszIp, |
int | iPort, | ||
CTcpSessionInfo * | pclsSessionInfo | ||
) |
TCP 세션 정보를 저장한다.
pszIp | 클라이언트 IP 주소 |
iPort | 클라이언트 포트 번호 |
pclsSessionInfo | TCP 세션 정보 |
bool CTcpClientMap::Insert | ( | const char * | pszIp, |
int | iPort, | ||
int | iThreadIndex, | ||
int | iSessionIndex | ||
) |
TCP 연결을 저장한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
iThreadIndex | TCP 쓰레드 번호 |
iSessionIndex | TCP 세션 번호 ( TCP 쓰레드 내의 세션 번호 ) |
bool CTcpSessionList::Insert | ( | Socket | hSocket | ) |
TCP 소켓을 추가한다.
hSocket | TCP 소켓 |
int CTcpSessionList::Insert | ( | CTcpComm & | clsTcpComm | ) |
TCP 세션 정보를 추가한다.
clsTcpComm | TCP 세션 정보 저장 객체 |
|
inlinevirtual |
SendAll 로 전송해도 되는 세션인지 검사한다.
pclsSessionInfo | 세션 정보 |
bool IsTcpListenThreadRun | ( | ) |
TCP listen 쓰레드가 실행중인가?
void CTcpSessionInfo::Log | ( | const char * | pszPacket, |
int | iPacketLen, | ||
bool | bSend | ||
) |
TCP 전송/수신에 대한 로그를 출력한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bSend | 전송 여부 |
bool CTcpStackSetup::Parse | ( | CXmlElement & | clsXml | ) |
XML element 에서 TCP stack 설정 사항을 가져온다.
clsXml | XML element |
|
static |
명령을 수신한다.
hSocket | pipe 수신 핸들 |
pszData | 명령 저장 변수 |
iDataSize | pszData 변수 크기 |
|
pure virtual |
TCP 패킷 수신 이벤트 핸들러
pszPacket | 수신 패킷 |
iPacketLen | 수신 패킷 길이 |
pclsSessionInfo | 세션 정보 |
CHttpStack에서 구현되었습니다.
bool CTcpSessionMap::Send | ( | const char * | pszIp, |
int | iPort, | ||
const char * | pszPacket, | ||
int | iPacketLen | ||
) |
특정 세션에 TCP 패킷을 전송한다.
pszIp | IP 주소 |
iPort | 포트 번호 |
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bool CTcpSessionMap::Send | ( | int | iThreadIndex, |
const char * | pszPacket, | ||
int | iPacketLen | ||
) |
특정 세션에 TCP 패킷을 전송한다.
iThreadIndex | TCP 쓰레드 번호 |
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bool CTcpStack::Send | ( | const char * | pszIp, |
int | iPort, | ||
const char * | pszPacket, | ||
int | iPacketLen, | ||
bool | bConnectIfNoSession | ||
) |
특정 세션에 TCP 패킷을 전송한다.
pszIp | IP 주소 |
iPort | 포트 번호 |
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bConnectIfNoSession | TCP 세션이 존재하지 않으면 새로운 TCP 세션을 연결한 후, 패킷을 전송하는가? |
bool CTcpStack::Send | ( | int | iThreadIndex, |
int | iSessionIndex, | ||
const char * | pszPacket, | ||
int | iPacketLen | ||
) |
특정 세션에 TCP 패킷을 전송한다.
iThreadIndex | TCP 쓰레드 번호 |
iSessionIndex | TCP 세션 번호 |
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bool CTcpSessionInfo::Send | ( | const char * | pszPacket, |
int | iPacketLen | ||
) |
TCP 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bool CTcpClientMap::Send | ( | const char * | pszIp, |
int | iPort, | ||
const char * | pszPacket, | ||
int | iPacketLen, | ||
bool | bConnectIfNoSession | ||
) |
TCP 서버에 연결하여서 TCP 패킷을 전송한다.
이미 연결된 TCP 서버에는 TCP 패킷만 전송한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bConnectIfNoSession | TCP 세션이 존재하지 않으면 새로운 TCP 세션을 연결한 후, 패킷을 전송하는가? |
bool CTcpSessionList::Send | ( | int | iIndex, |
const char * | pszPacket, | ||
int | iPacketLen | ||
) |
특정 세션에 패킷을 전송한다.
iIndex | 세션 인덱스 |
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bool CTcpThreadList::Send | ( | int | iThreadIndex, |
int | iSessionIndex, | ||
const char * | pszPacket, | ||
int | iPacketLen | ||
) |
특정 세션에 TCP 패킷을 전송한다.
iThreadIndex | TCP 쓰레드 번호 |
iSessionIndex | TCP 세션 번호 |
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bool CTcpSessionMap::SendAll | ( | const char * | pszPacket, |
int | iPacketLen, | ||
ITcpStackCallBack * | pclsCallBack | ||
) |
모든 세션에 TCP 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
pclsCallBack | 세션별로 전송 유무를 결정하는 callback 객체 |
bool CTcpStack::SendAll | ( | const char * | pszPacket, |
int | iPacketLen | ||
) |
모든 세션에 TCP 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
bool CTcpSessionList::SendAll | ( | const char * | pszPacket, |
int | iPacketLen, | ||
ITcpStackCallBack * | pclsCallBack | ||
) |
모든 세션에 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
pclsCallBack | 세션별로 전송 유무를 결정하는 callback 객체 |
bool CTcpThreadList::SendAll | ( | const char * | pszPacket, |
int | iPacketLen, | ||
ITcpStackCallBack * | pclsCallBack | ||
) |
모든 세션에 TCP 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
pclsCallBack | 세션별로 전송 유무를 결정하는 callback 객체 |
bool CTcpSessionMap::SendAllExcept | ( | const char * | pszPacket, |
int | iPacketLen, | ||
ITcpStackCallBack * | pclsCallBack, | ||
int | iThreadIndex, | ||
int | iSessionIndex | ||
) |
특정 세션을 제외한 모든 세션에 TCP 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
pclsCallBack | 세션별로 전송 유무를 결정하는 callback 객체 |
iThreadIndex | 전송하지 않을 세션의 쓰레드 인덱스 |
iSessionIndex | 전송하지 않을 세션 인덱스 |
bool CTcpStack::SendAllExcept | ( | const char * | pszPacket, |
int | iPacketLen, | ||
int | iThreadIndex, | ||
int | iSessionIndex | ||
) |
특정 세션을 제외한 모든 세션에 TCP 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
iThreadIndex | 전송하지 않을 세션의 쓰레드 인덱스 |
iSessionIndex | 전송하지 않을 세션 인덱스 |
bool CTcpSessionList::SendAllExcept | ( | const char * | pszPacket, |
int | iPacketLen, | ||
ITcpStackCallBack * | pclsCallBack, | ||
int | iThreadIndex, | ||
int | iSessionIndex | ||
) |
모든 세션에 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
pclsCallBack | 세션별로 전송 유무를 결정하는 callback 객체 |
iThreadIndex | 전송하지 않을 세션의 쓰레드 인덱스 |
iSessionIndex | 전송하지 않을 세션 인덱스 |
bool CTcpThreadList::SendAllExcept | ( | const char * | pszPacket, |
int | iPacketLen, | ||
ITcpStackCallBack * | pclsCallBack, | ||
int | iThreadIndex, | ||
int | iSessionIndex | ||
) |
모든 세션에 TCP 패킷을 전송한다.
pszPacket | 패킷 |
iPacketLen | 패킷 길이 |
pclsCallBack | 세션별로 전송 유무를 결정하는 callback 객체 |
iThreadIndex | 전송하지 않을 세션의 쓰레드 인덱스 |
iSessionIndex | 전송하지 않을 세션 인덱스 |
bool CTcpThreadList::SendCommand | ( | const char * | pszData, |
int | iDataLen | ||
) |
쓰레드에 명령을 전송한다.
pszData | 명령 |
iDataLen | pszData 길이 |
bool CTcpThreadList::SendCommand | ( | const char * | pszData, |
int | iDataLen, | ||
int | iThreadIndex | ||
) |
지정된 쓰레드 번호의 쓰레드로 명령을 전송한다.
pszData | 명령 |
iDataLen | pszData 길이 |
iThreadIndex | 쓰레드 인덱스 |
void CTcpThreadList::SendCommandAll | ( | const char * | pszData, |
int | iDataLen | ||
) |
모든 쓰레드에 명령을 전달한다.
pszData | 명령 |
iDataLen | pszData 길이 |
|
pure virtual |
bool CTcpClientMap::SetConnected | ( | const char * | pszIp, |
int | iPort, | ||
int | iThreadIndex, | ||
int | iSessionIndex | ||
) |
TCP 연결됨으로 설정한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
iThreadIndex | TCP 쓰레드 번호 |
iSessionIndex | TCP 세션 번호 ( TCP 쓰레드 내의 세션 번호 ) |
bool SetupFileLog | ( | CFileLog & | clsFileLog, |
CXmlElement & | clsElement | ||
) |
bool SSLAccept | ( | Socket | iFd, |
SSL ** | ppsttSsl, | ||
bool | bCheckClientCert, | ||
int | iVerifyDepth, | ||
int | iAcceptTimeout | ||
) |
클라이언트 SSL 접속 요청을 허용한다.
iFd | 클라이언트 TCP 소켓 핸들 |
ppsttSsl | SSL 구조체 |
bCheckClientCert | 클라이언트 인증서를 확인할 것인가? |
iVerifyDepth | the maximum depth for the certificate chain verification that shall be allowed for ssl |
iAcceptTimeout | SSL 접속 요청 처리 최대 시간 ( ms 단위 ) |
bool SSLClientStart | ( | ) |
SSL 클라이언트 라이브러리를 시작한다.
bool SSLClientStop | ( | ) |
SSL 클라이언트 라이브러리를 종료한다.
bool SSLClose | ( | SSL * | ssl | ) |
SSL 세션을 종료한다.
ssl | SSL 구조체 |
void SSLFinal | ( | ) |
프로세스가 종료될 때에 최종적으로 실행하여서 openssl 메모리 누수를 출력하지 않는다.
void SSLPrintLogClientCipherList | ( | ) |
SSL 클라이언트에서 사용되는 cipher list 를 로그로 출력한다.
void SSLPrintLogServerCipherList | ( | ) |
SSL 서버에서 사용되는 cipher list 를 로그로 출력한다.
int SSLRecv | ( | SSL * | ssl, |
char * | szBuf, | ||
int | iBufLen | ||
) |
SSL 프로토콜로 수신된 패킷을 읽는다.
ssl | SSL 구조체 |
szBuf | 수신 패킷 저장 버퍼 |
iBufLen | 수신 패킷 저장 버퍼 크기 |
int SSLSend | ( | SSL * | ssl, |
const char * | szBuf, | ||
int | iBufLen | ||
) |
SSL 프로토콜로 패킷을 전송한다.
ssl | SSL 구조체 |
szBuf | 전송 패킷 |
iBufLen | 전송 패킷 크기 |
bool SSLServerStart | ( | const char * | szCertFile | ) |
SSL 서버 라이브러리를 시작한다.
szCertFile | 서버 인증서 및 개인키 파일 |
bool SSLServerStop | ( | ) |
SSL 서버 라이브러리를 종료한다.
bool CTcpStack::Start | ( | CTcpStackSetup * | pclsSetup, |
ITcpStackCallBack * | pclsCallBack | ||
) |
TCP stack 을 시작한다.
pclsSetup | TCP stack 설정 |
pclsCallBack | TCP stack callback |
bool StartTcpClientThread | ( | const char * | pszIp, |
int | iPort, | ||
CTcpStack * | pclsStack | ||
) |
TCP 연결 Thread 를 시작한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
pclsStack | TCP stack |
bool CTcpStack::Stop | ( | ) |
TCP stack 을 중지한다.
THREAD_API TcpClientThread | ( | LPVOID | lpParameter | ) |
THREAD_API TcpListenThread | ( | LPVOID | lpParameter | ) |
THREAD_API TcpNoPipeThread | ( | LPVOID | lpParameter | ) |
pipe 를 사용하지 않는 TCP 세션 쓰레드 함수 - m_bUseThreadPipe 가 false 일 때에 사용된다.
lpParameter | CThreadListEntry 객체의 포인터 |
THREAD_API TcpPipeThread | ( | LPVOID | lpParameter | ) |
TCP 세션을 위한 쓰레드 함수
lpParameter | CThreadListEntry 객체의 포인터 |