1 // CasProxy.cpp: CCasProxy
\83N
\83\89\83X
\82Ì
\83C
\83\93\83v
\83\8a\83\81\83\93\83e
\81[
\83V
\83\87\83\93\r
3 //////////////////////////////////////////////////////////////////////
\r
6 #include "CasProxy.h"
\r
9 #define TCP_TIMEOUT 1000UL // 1
\95b
\r
12 DWORD CCasProxy::dwErrorDelayTime = 0UL;
\r
15 CCasProxy::CCasProxy(void)
\r
20 CCasProxy::~CCasProxy(void)
\r
22 //
\83T
\81[
\83o
\82©
\82ç
\90Ø
\92f
\r
26 const BOOL CCasProxy::Connect(void)
\r
29 //
\83G
\83\89\81[
\94
\90¶
\8e\9e\82Ì
\83K
\81[
\83h
\83C
\83\93\83^
\81[
\83o
\83\8b\r
30 if(dwErrorDelayTime){
\r
31 if((::GetTickCount() - dwErrorDelayTime) < TCP_TIMEOUT)return FALSE;
\r
32 else dwErrorDelayTime = 0UL;
\r
35 //
\83T
\81[
\83o
\82É
\90Ú
\91±
36 char* env = getenv("B25_SERVER_IP");
43 lpszHost = "127.0.0.1";
45 env = getenv("B25_SERVER_PORT");
53 if(m_Socket.Connect(lpszHost, wPort, TCP_TIMEOUT)){
\r
57 //dwErrorDelayTime = ::GetTickCount();
\r
62 const DWORD CCasProxy::TransmitCommand(const BYTE *pSendData, const DWORD dwSendSize, BYTE *pRecvData)
\r
64 //
\91\97\90M
\83f
\81[
\83^
\8f\80\94õ
\r
66 SendBuf[0] = (BYTE)dwSendSize;
\r
67 memcpy(&SendBuf[1], pSendData, dwSendSize);
\r
70 //
\83\8a\83N
\83G
\83X
\83g
\91\97\90M
\r
71 if(!m_Socket.Send(SendBuf, dwSendSize + 1UL, TCP_TIMEOUT))throw (const DWORD)__LINE__;
\r
73 //
\83\8c\83X
\83|
\83\93\83X
\83w
\83b
\83_
\8eó
\90M
\r
74 if(!m_Socket.Recv(SendBuf, 1UL, TCP_TIMEOUT))throw (const DWORD)__LINE__;
\r
76 //
\83\8c\83X
\83|
\83\93\83X
\83f
\81[
\83^
\8eó
\90M
\r
77 if(!m_Socket.Recv(pRecvData, SendBuf[0], TCP_TIMEOUT))throw (const DWORD)__LINE__;
\r
79 catch(const DWORD dwLine){
\r
80 //
\92Ê
\90M
\83G
\83\89\81[
\94
\90¶
\r