summaryrefslogtreecommitdiff
path: root/i/simulotron/src/socket/socket.hh
blob: a1d6d659d68a909a6c93b0dc871ce574b3cebcc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <string>
class Address;

class Socket
{
    private:
	/// Ze socket
	int socket_;
	/// constantes
	/// Taille max du buffer de lecture/ecriture
	static const int BUFFER_SIZE = 256;
    public:
	/// Constructeur
	Socket(const Address & address);
	/// Constructeur � partir d'un fd
	Socket(int socket);
	/// Destructeur
	~Socket(void);
	/// Connect le client au serveur
	void connect(const Address & address);
	/// Ecoute le port
	void listen(int maxQueue);
	/// accepte une connection
	Socket accept(Address & address);
	/// lit du socket
	std::string read(void);
	/// �crit dans le socket
	void write(const std::string & str);
	/// lit un charact�re du socket
	char getChar(void);
	/// �crit un charact�re dans le socket
	void putChar(char c);
	/// Drapeau connect�
	bool isConnected(void);
};