libsocket.hh


Fichier texte: [libsocket.hh]

#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);
};

class Server : public Socket
{
public:
  Server();
  int run(int port);
  virtual int loop();
  virtual void interaction(Socket& client) = 0;
};

#endif