TCP客户端主要封装了一些TCP客户端的逻辑,包括建立连接等。
//定义了处理消息的接口,通过这个接口来处理所有收到的TCP数据
class Handler
{
public:
virtual bool parse_msg(...) = 0;
};
class TCPClient : public Thread, public Handler
{
public:
bool connect();
virtual bool send_cmd(...);
virtual void run(); //主处理函数,一般里面有一个死循环,包括处理接收与发送等
...
protected:
std::string ip;
int port;
Socket *pSocket;
};
class SubTCPClient : public TCPClient //一般使用这个类
{
public:
void run();
bool send_cmd(...);
...
private:
bool receive(...);
bool send(...);
volatile bool use_buffer;//是否使用缓冲
};