00001 #ifndef SOCKET_H 00002 #define SOCKET_H 00003 00004 #include <sys/time.h> 00005 #include <sys/types.h> 00006 #include <sys/socket.h> 00007 #include <netinet/in.h> 00008 #include <unistd.h> 00009 00013 const int MAX_WAITING = 5; 00014 00018 class Socket { 00019 public: 00024 Socket(); 00025 00030 Socket(unsigned short port); 00031 00036 ~Socket(); 00037 00041 void listen(unsigned short port); 00042 00048 bool isPendingConnection (long timeout); 00049 00050 private: 00054 struct sockaddr_in saddr; 00055 00059 int so; 00060 00064 void init_socket(unsigned short port); 00065 00069 void start_server(); 00070 00074 bool isValid(); 00075 00076 00081 int accept(); 00082 00086 friend class TCPStream; 00087 }; 00088 00089 #endif