Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main(int argc, char *argv[])
- {
- int socket_desc, client_sock;
- socklen_t c;
- struct sockaddr_in server, client;
- std::string strMessage;
- uint32_t sessionId(0);
- std::vector<Session*> session_stack;
- if (!WSASU())
- return -1;
- //Create socket
- socket_desc = socket(AF_INET, SOCK_STREAM, 0);
- if (socket_desc == -1)
- {
- std::cout << "FATAL: Could not create socket" << std::endl;
- return -1;
- }
- //Prepare the sockaddr_in structure
- server.sin_family = AF_INET;
- server.sin_addr.s_addr = INADDR_ANY;
- server.sin_port = htons(8888);
- //Bind
- if (bind(socket_desc, (struct sockaddr *)&server, sizeof(server)) < 0)
- {
- //print the error message
- std::cout << "FATAL: bind failed.Error" << std::endl;
- return -1;
- }
- //Listen
- listen(socket_desc, 3);
- //Accept and incoming connection
- std::cout << "INFO: Waiting for incoming connections..." << std::endl;
- c = sizeof(struct sockaddr_in);
- while ((client_sock = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c)))
- {
- //Receive a message from client
- char read_buf[1024];
- int read_size;
- strMessage.clear();
- while ((read_size = recv(client_sock, read_buf, 1024, 0)) > 0)
- {
- strMessage += std::string(read_buf, read_size);
- std::string::size_type endGet;
- if ((endGet = strMessage.find("rnrn")) != std::string::npos)
- {
- strMessage.resize(endGet);
- break;
- }
Add Comment
Please, Sign In to add comment