-// 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
-//\r
-//////////////////////////////////////////////////////////////////////\r
-\r
-\r
-#include "CasProxy.h"\r
-#include <stdio.h>\r
-\r
-#define TCP_TIMEOUT 1000UL // 1\95b\r
-\r
-\r
-DWORD CCasProxy::dwErrorDelayTime = 0UL;\r
-\r
-\r
-CCasProxy::CCasProxy(void)\r
-{\r
-\r
-}\r
-\r
-CCasProxy::~CCasProxy(void)\r
-{\r
- // \83T\81[\83o\82©\82ç\90Ø\92f\r
- m_Socket.Close();\r
-}\r
-\r
-const BOOL CCasProxy::Connect(void)\r
-{\r
-/*
- // \83G\83\89\81[\94\90¶\8e\9e\82Ì\83K\81[\83h\83C\83\93\83^\81[\83o\83\8b\r
- if(dwErrorDelayTime){\r
- if((::GetTickCount() - dwErrorDelayTime) < TCP_TIMEOUT)return FALSE;\r
- else dwErrorDelayTime = 0UL;\r
- }\r
-*/\r
- // \83T\81[\83o\82É\90Ú\91±
- char* env = getenv("B25_SERVER_IP");
- LPCTSTR lpszHost;
- WORD wPort;
- if (env) {
- lpszHost = env;
- }
- else {
- lpszHost = "127.0.0.1";
- }
- env = getenv("B25_SERVER_PORT");
- if (env) {
- wPort = atoi(env);
- }
- else {
- wPort = 6900;
- }
-
- if(m_Socket.Connect(lpszHost, wPort, TCP_TIMEOUT)){\r
- return TRUE;\r
- }\r
- else{
- //dwErrorDelayTime = ::GetTickCount();\r
- return FALSE;\r
- }\r
-}\r
-\r
-const DWORD CCasProxy::TransmitCommand(const BYTE *pSendData, const DWORD dwSendSize, BYTE *pRecvData)\r
-{\r
- // \91\97\90M\83f\81[\83^\8f\80\94õ\r
- BYTE SendBuf[256];\r
- SendBuf[0] = (BYTE)dwSendSize;\r
- memcpy(&SendBuf[1], pSendData, dwSendSize);\r
-\r
- try{\r
- // \83\8a\83N\83G\83X\83g\91\97\90M\r
- if(!m_Socket.Send(SendBuf, dwSendSize + 1UL, TCP_TIMEOUT))throw (const DWORD)__LINE__;\r
- \r
- // \83\8c\83X\83|\83\93\83X\83w\83b\83_\8eó\90M\r
- if(!m_Socket.Recv(SendBuf, 1UL, TCP_TIMEOUT))throw (const DWORD)__LINE__;\r
-\r
- // \83\8c\83X\83|\83\93\83X\83f\81[\83^\8eó\90M\r
- if(!m_Socket.Recv(pRecvData, SendBuf[0], TCP_TIMEOUT))throw (const DWORD)__LINE__;\r
- }\r
- catch(const DWORD dwLine){\r
- // \92Ê\90M\83G\83\89\81[\94\90¶\r
- m_Socket.Close();\r
- return 0UL;\r
- }\r
- \r
- return SendBuf[0];\r
-}
-