1 #ifndef UTILS_SOCKET_UTILS_H 2 #define UTILS_SOCKET_UTILS_H 5 #include <sys/socket.h> 7 const static int INVALID_SOCKET = -1;
18 bool ParseAddr(
const char* addr,
char* protocol,
char* host,
int& port);
22 SOCKET Connect(
const char* addr);
29 SOCKET Bind(
const char* addr,
bool block=
true);
33 SOCKET Accept(SOCKET sockfd);
37 SOCKET Accept(SOCKET sockfd,
double timeout);
40 void SetNonblock(SOCKET sockfd,
bool enabled=
true);
43 void CloseSocket(SOCKET sockfd);
46 void SetNodelay(SOCKET sockfd,
bool enabled=
true);
49 bool ReadAvailable(SOCKET socketfd);
52 bool WriteAvailable(SOCKET socketfd);
55 bool HasException(SOCKET socketfd);