class classServer { private: char *buffer; WSADATA theWSA; SOCKET theSocket,theOtherSocket; public: classServer(); void makeSocketLoad() { WSAStartup(MAKEWORD(2,2),&theWSA); theSocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); } void sockConnect(int port) { struct sockaddr_in serverInf; serverInf.sin_family=AF_INET; serverInf.sin_addr.s_addr=INADDR_ANY; serverInf.sin_port=htons(port); if(bind(theSocket,(SOCKADDR*)&serverInf,sizeof(serverInf)) == SOCKET_ERROR) { std::cout<<"Unable to bind socket!\r\n"; WSACleanup(); system("PAUSE"); } } void getDataStream() { listen(theSocket,1); SOCKET TempSock=SOCKET_ERROR; while(TempSock==SOCKET_ERROR) { std::cout<<"Waiting for incoming connections...\r\n"; TempSock=accept(theSocket,NULL,NULL); } theSocket=TempSock; std::cout<<"Client connected!\r\n\r\n"; char *buffer = new char[1002]; std::string data; int inDataSize; while(true) { inDataSize = recv(theSocket,buffer,1000,0); data = buffer; if(inDataSize > 0) { std::cout << data << std::endl; if(data == "exit") { std::cout << "EXIT NOW" << std::endl; exit(0); break; } } } } void killWinsock() { closesocket(theOtherSocket); closesocket(theSocket); WSACleanup(); } }; classServer::classServer() { buffer = new char[1002]; }
select()
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)