Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. //class definition
  2. //class to handle all server side connections
  3.  
  4. #include "server.h"
  5.  
  6. //constructor
  7. HTNAPI::server::server()
  8. {
  9. canaccept = false;
  10. }
  11.  
  12. //start server
  13. bool HTNAPI::server::start(int port)
  14. {
  15. server::port = port;
  16. const int iReqWinsockVer = 2; // Minimum winsock version required
  17.  
  18. WSADATA wsaData;
  19.  
  20. if (WSAStartup(MAKEWORD(iReqWinsockVer,0), &wsaData)==0)
  21. {
  22. // Check if major version is at least iReqWinsockVer
  23. if (LOBYTE(wsaData.wVersion) >= iReqWinsockVer)
  24. {
  25. /* ------- Call winsock functions here ------- */
  26. if(startacceptthread())
  27. {
  28. return true;
  29. }
  30. }
  31. else
  32. {
  33. // Required version not available
  34. }
  35.  
  36. // Cleanup winsock
  37. if (WSACleanup()!=0)
  38. {
  39. // cleanup failed
  40. }
  41. }
  42. else
  43. {
  44. // startup failed
  45. }
  46.  
  47. return false;
  48. }
  49.  
  50. //start accept thread
  51. bool HTNAPI::server::startacceptthread()
  52. {
  53. canaccept = true;
  54. HANDLE acceptthreadhandle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)HTNAPI::acceptthread, 0, 0, 0);
  55.  
  56. //thread started
  57. if(acceptthreadhandle != NULL)
  58. {
  59. return true;
  60. }
  61. return false;
  62. }
  63.  
  64. //stop accept thread
  65. void HTNAPI::server::stopacceptthread()
  66. {
  67. canaccept = false;
  68. }
  69.  
  70. void HTNAPI::server::stop()
  71. {
  72. stopacceptthread();
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement