Guest User

Untitled

a guest
Apr 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. int main(int argc, char *argv[])
  2. {
  3. int socket_desc, client_sock;
  4. socklen_t c;
  5. struct sockaddr_in server, client;
  6. std::string strMessage;
  7. uint32_t sessionId(0);
  8. std::vector<Session*> session_stack;
  9.  
  10. if (!WSASU())
  11. return -1;
  12.  
  13. //Create socket
  14. socket_desc = socket(AF_INET, SOCK_STREAM, 0);
  15. if (socket_desc == -1)
  16. {
  17. std::cout << "FATAL: Could not create socket" << std::endl;
  18. return -1;
  19. }
  20.  
  21. //Prepare the sockaddr_in structure
  22. server.sin_family = AF_INET;
  23. server.sin_addr.s_addr = INADDR_ANY;
  24. server.sin_port = htons(8888);
  25.  
  26. //Bind
  27. if (bind(socket_desc, (struct sockaddr *)&server, sizeof(server)) < 0)
  28. {
  29. //print the error message
  30. std::cout << "FATAL: bind failed.Error" << std::endl;
  31. return -1;
  32. }
  33.  
  34. //Listen
  35. listen(socket_desc, 3);
  36.  
  37. //Accept and incoming connection
  38. std::cout << "INFO: Waiting for incoming connections..." << std::endl;
  39. c = sizeof(struct sockaddr_in);
  40.  
  41. while ((client_sock = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c)))
  42. {
  43. //Receive a message from client
  44. char read_buf[1024];
  45. int read_size;
  46. strMessage.clear();
  47. while ((read_size = recv(client_sock, read_buf, 1024, 0)) > 0)
  48. {
  49. strMessage += std::string(read_buf, read_size);
  50. std::string::size_type endGet;
  51.  
  52. if ((endGet = strMessage.find("rnrn")) != std::string::npos)
  53. {
  54. strMessage.resize(endGet);
  55. break;
  56. }
Add Comment
Please, Sign In to add comment