diff options
Diffstat (limited to 'protocols/Xfire/src/socket.h')
-rw-r--r-- | protocols/Xfire/src/socket.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/protocols/Xfire/src/socket.h b/protocols/Xfire/src/socket.h new file mode 100644 index 0000000000..370aeb74f7 --- /dev/null +++ b/protocols/Xfire/src/socket.h @@ -0,0 +1,67 @@ +// Copied from http://linuxgazette.net/issue74/tougher.html +// (only slightly modified) + + +// Definition of the Socket class + + +#ifndef Socket_class +#define Socket_class + +#include "stdafx.h" + +#include <sys/types.h> +//#include <netinet/in.h> +//#include <netdb.h> +//#include <unistd.h> +#include <string> +//#include <arpa/inet.h> +#include <winsock2.h> + +#include "socketexception.h" + + +const int MAXHOSTNAME = 200; +const int MAXCONNECTIONS = 5; +const int MAXRECV = 500; + +class Socket +{ + public: + //proxy hinzugefügt dufte + Socket( std::string host, int port,int useproxy = 0,std::string proxyhost = " ", int proxyport = 0 ); + virtual ~Socket(); + + // Server initialization + bool create(); + bool bind ( const int port ); + bool listen() const; + bool accept ( Socket& ) const; + + // Client initialization + bool connect ( const std::string host, const int port, int useproxy,std::string proxyhost,int proxyport); + + // Data Transimission + bool send ( char *buf, int length ) const; + bool send ( const std::string ) const; + int recv ( std::string& ) const; + int recv ( char *buf, int maxlen ) const; + + + void set_non_blocking ( const bool ); + + bool is_valid() const { return true; } + + int m_sock; + + private: + + + sockaddr_in m_addr; + HANDLE netlibcon; + + +}; + + +#endif |