TobiiGlasses2SDK
sources/TobiiSDK/TobiiGlasses2SDK/src/Network.h
00001 /************************************
00002  * Author: Pierre-Marie Plans       *
00003  * E-mail: pierre.plans@gmail.com   *
00004  ************************************/
00005 
00006 #ifndef NETWORK_H_
00007 #define NETWORK_H_
00008 
00009 #ifdef WINDOWS
00010 #include <winsock.h>
00011 #else
00012 #include <sys/types.h>
00013 #include <sys/socket.h>
00014 #include <netinet/in.h>
00015 #include <arpa/inet.h>
00016 #endif
00017 
00018 #include <string>
00019 
00020 #ifdef WINDOWS
00021         WSADATA wsaData;
00022 #endif
00023 
00027 class Network {
00028         static int portEncode(int);
00029         public:
00034         Network();
00040         int makeSocket();
00048         int bindSocket(struct sockaddr_in & dest, int sock);
00057         void configureSockAddr(struct sockaddr_in & sockaddr, const char * inetaddr, int port);
00066         int sendUDPTo(struct sockaddr_in & sockaddr, int sockfd, const char * msg);
00075         int recvUDPFrom(struct sockaddr_in * sockaddr, int sockfd, std::string & msgout, bool dontwait=false);
00081         void clearSocket(int sock);
00086         void printErrors();
00087 };
00088 
00089 #endif
 All Classes Namespaces Files Functions Variables