TCPSocket has the same methods as Socket, the only difference is that it initializes a tcp socket by itself.
class TCPSocket : public Socket { public: TCPSocket() : Socket(SOCK_STREAM, IPPROTO_TCP) {} };