Fichier texte: [libsocket.hh-TP5]
#ifndef _LIBSOCKET_HH_ #define _LIBSOCKET_HH_ #include <string> using std::string; class ErrInfo { private: int _code; string _proc; public: ErrInfo(); void errset(int code, string proc); void errmsg(char* buf, int n); }; class Socket : public ErrInfo { private: int _fd; public: Socket(); int socket(); int close(); int bind(int port); int listen(int backlog=10); int accept(Socket& client); int write(std::string buf); int write(const char* buf); int write(const char* buf, int n); int connect(std::string host, int port); int connect(const char* host, int port); int read(char* buf, int n); int readline(char* buf, int n); int put_int8 (int n); int put_int16(int n); int put_int32(int n); int get_int8 (int&n); int get_int16(int&n); int get_int32(int&n); }; class Server : public Socket { public: Server(); int run(int port); virtual int loop(); virtual void interaction(Socket& client) = 0; }; class Client : public Socket { public: Client(); int run(std::string host, int port); int run(const char* host, int port); virtual int interaction() = 0; }; #endif