00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00025
00026 #ifndef _inetaddr_
00027 #define _inetaddr_
00028
00029 #ifdef _WIN32
00030 #include <winsock.h>
00031 #else
00032 #include <sys/socket.h>
00033 #include <netinet/in.h>
00034 #endif
00035 #include "H3DNetworkingUtils/Config.h"
00036
00037 class H3D_NETWORKING_UTILS_DLL_SPEC InetAddr {
00038 protected:
00039 struct sockaddr_in address;
00040 char addressStr[24];
00041
00042 public:
00043 InetAddr ();
00044 virtual ~InetAddr ();
00045
00046 virtual int family ();
00047 virtual int port ();
00048 virtual void setPort (int newPort);
00049
00050
00051
00052 virtual void * addr ();
00053 virtual int addrSize ();
00054
00055
00056
00057
00058
00059 virtual void scan (char * addr);
00060
00061 virtual void scanHost (char * host);
00062 virtual void scanPort (char * port);
00063
00064
00065 virtual InetAddr * clone ();
00066
00067
00068 virtual char * text ();
00069
00070
00071 virtual int isUnicast ();
00072 virtual int isMulticast ();
00073 virtual int isLocal ();
00074
00075
00076 virtual int eqHost (InetAddr * other);
00077 virtual int eqPort (InetAddr * other);
00078
00079
00080 static char * HostName ();
00081 };
00082
00083 #endif