tcpclnt.h

来自「一个PPP上网协议源码,可通过GPRS网络接入因特网.」· C头文件 代码 · 共 69 行

H
69
字号
#if !defined( _TCPCLNT_H )
#define _TCPCLNT_H

#define   HeartBeat      400

enum CONN_STATE { CLOSED=0, START, OPEN, FAIL };

struct SERVER_ID
{
   char       IPStr[20];
   int        Port;
   SERVER_ID& operator = (SERVER_ID& );
};

class TCPClientManager
{
protected:
   int               Conno;
   CONN_STATE        ConnState;

   unsigned long     Timeout;		// = 0: no timeout
   unsigned long     StartTick;

   unsigned char     DataBuf[1500];

   struct SERVER_ID* pHost;


public:
   TCPClientManager( );
   ~TCPClientManager( );

   void Init( struct SERVER_ID* pSvrID );

   // 1 Tick = 55ms; NumTick=0: no timeout
   int SetTimeoutCnt( long NumTick );
   // return = 1: time out, =0: not yet!
   int IsTimeout( );

   // return connect state
   CONN_STATE Running( );
   int WriteData( char* DatBuf, int DatLen );
   int ReadData( char* DatBuf, int DatLen );
   int Close( );

   int GetHostIP( char* IPStr );
};

class TCPClientManager_HLD: public TCPClientManager
{
   int  Flag;
   int  LinkNum;
   int  HostIdx;
public:
   //TCPClientManager_HLD( struct SERVER_ID* pSvrID );
   TCPClientManager_HLD( );
   ~TCPClientManager_HLD( );

   void Init( struct SERVER_ID* pSvrID );

   // return connect state
   CONN_STATE  Running( );
   int Close( );

   int GetSvrID( struct SERVER_ID* pSvrID );
   int ResetConnState( );
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?