#ifndef __SOCKET_H__ #define __SOCKET_H__ #ifdef __cplusplus #include #include #include #include #include class Socket : public Handle { public: Socket() throw (GeneralException); virtual ~Socket() {} bool SetLocal(String, int = 0); bool Connect(String, int); bool Listen(); Socket Accept() throw (GeneralException); bool IsConnected(); bool IsListening(); virtual bool CanRead(); virtual bool CanWrite(); virtual String GetName(); int GetPort(); private: Socket(int s); bool connected, listening; }; #else #error This only works with a C++ compiler #endif #endif