TCP客户端任务主要封装了一些TCP客户端的逻辑,包括建立连接等。这个类和TCP客户端比较类似,区别主要为多了一些状态相关的变量(关闭,同步,准备好,销毁等)变量等。
class TCPClientTask : public handler, private Nocopy
{
public:
enum State {
close = 0, //连接关闭
sync = 1, //等待同步
ready = 2, //连接准备好
destroy = 3 //连接退出
};
bool send_cmd(...);
bool send(...);
bool receive(...);
virtual bool connect();
virtual bool reconnect();
...
protected:
Socket *pSocket;
...
public:
std::string ip;
int port;
};