|
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 객체의 포인터 |
1.8.1.2