add client to cdht
refactor TCPClient