Network.cpp 1008 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "Network.h"
  2. #ifndef WIN32
  3. #include <iostream>
  4. #include <netdb.h>
  5. #endif
  6. // Starte Netzwerk
  7. void Network::Start( int maxClients )
  8. {
  9. #ifdef WIN32
  10. WSADATA lpwd;
  11. lpwd.iMaxSockets = maxClients;
  12. int fehler = WSAStartup( MAKEWORD( 2, 0 ), &lpwd );
  13. if( fehler != 0 )
  14. MessageBox( 0, "Win Sock 2.0 konnte nocht gestartet werden.", "Fehler", MB_ICONERROR );
  15. #endif
  16. }
  17. void Network::getHostName( char *name, int bufferLen )
  18. {
  19. gethostname( name, bufferLen );
  20. }
  21. char *Network::getHostAddresse()
  22. {
  23. char *addresse;
  24. char name[ 255 ] = "";
  25. getHostName( name, 255 );
  26. PHOSTENT hostinfo;
  27. hostinfo = gethostbyname( name );
  28. if( !hostinfo )
  29. {
  30. #ifdef WIN32
  31. MessageBox( 0, "Die Ip Addresse konnte nicht ermittelt werden.", "Fehler", MB_ICONERROR );
  32. #else
  33. std::cout << "Fehler: Die Ip Addresse konnte nicht ermittelt werden.";
  34. #endif
  35. }
  36. addresse = inet_ntoa( *( struct in_addr* )*hostinfo->h_addr_list );
  37. return addresse;
  38. }
  39. // Beende Netzwerk
  40. void Network::Exit()
  41. {
  42. #ifdef WIN32
  43. WSACleanup();
  44. #endif
  45. }