76 lines
2.2 KiB
C++
76 lines
2.2 KiB
C++
// TcpClient.h: interface for the CTcpClient class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_TCPCLIENT_H__044BB3D2_8F93_47F9_808D_D0D08D49539C__INCLUDED_)
|
|
#define AFX_TCPCLIENT_H__044BB3D2_8F93_47F9_808D_D0D08D49539C__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
#include <WinSock2.h>
|
|
#include <Windows.h>
|
|
#include <winsock.h>
|
|
#include <WS2tcpip.h>
|
|
#include "Constant.h"
|
|
#include "CtrlProtocolDef.h"
|
|
extern int g_iUILanguage;
|
|
class CTcpClient
|
|
{
|
|
public:
|
|
CTcpClient();
|
|
virtual ~CTcpClient();
|
|
|
|
void SetSocketBuf(int iSndBuf, int iRcvBuf){m_iSndBuf = iSndBuf; m_iRcvBuf = iRcvBuf;}
|
|
bool CloseConnect();
|
|
bool GetConnectStatus();
|
|
bool Disconnect();
|
|
bool ClearRecvBuffer();
|
|
//函数
|
|
virtual bool Initialize() {return InitailTcp();}
|
|
virtual bool ConnectToServer(CString strIP, WORD wPort);
|
|
virtual bool ReConnect();
|
|
virtual int RecvRspMsg(char* pData, int* pLen,int iMaxLen, int iTimeout)
|
|
{
|
|
if (LANG_ZHCN == g_iUILanguage)
|
|
AfxMessageBox(_T("不支持RecvRspMsg"));
|
|
else
|
|
MessageBoxEx(NULL, _T("Unsupport RecvRspMsg."), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
return 0;
|
|
}
|
|
virtual bool SendCtrlInfo(const char*pCtrlHeader, const char* pData, WORD wDataLen,BYTE DataType=1)
|
|
{
|
|
if (LANG_ZHCN == g_iUILanguage)
|
|
AfxMessageBox(_T("不支持SendCtrlInfo"));
|
|
else
|
|
MessageBoxEx(NULL, _T("Unsupport SendCtrlInfo."), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
|
|
return 0;
|
|
}
|
|
virtual int RecvCtrlMsg(char* pData, int* pLen, int iMaxLen, int iTimeout){return 0;}
|
|
virtual int GetCurrCtrlCmd(){return 0;}
|
|
virtual bool InitialClient(){return true;}
|
|
virtual UINT32 GetPlcAddr(){return 0;}
|
|
|
|
protected:
|
|
bool InitailTcp();
|
|
bool ConnectServer(CString strAddr, WORD wPort);
|
|
int SendData(const char*pData, int iLen);
|
|
bool RecvData(char*pData, int iLen,int &iActualLen);
|
|
|
|
|
|
protected:
|
|
CString m_strIP;
|
|
WORD m_wPort;
|
|
int m_iSndBuf;
|
|
int m_iRcvBuf;
|
|
SOCKET m_sockClient;
|
|
bool m_bIsConnect;
|
|
bool m_bIsInitialed;
|
|
char *m_pClearRcvBuf;
|
|
|
|
|
|
};
|
|
|
|
#endif // !defined(AFX_TCPCLIENT_H__044BB3D2_8F93_47F9_808D_D0D08D49539C__INCLUDED_)
|