X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/641204dfbdb9fc870cdd2e7f9e3169a44693e7bf..433b829dc9275ce0d4925dae4dbc8ea607bae067:/projects/sgauth/web.cpp diff --git a/projects/sgauth/web.cpp b/projects/sgauth/web.cpp index caec33a0..edafc9d8 100644 --- a/projects/sgauth/web.cpp +++ b/projects/sgauth/web.cpp @@ -56,8 +56,7 @@ WEB::WEB() listenSocket(0), outerSocket(0), refreshPeriod(0), - listenWebAddr(0), - outerAddrLen(0) + listenWebAddr(0) { #ifdef WIN32 res = WSAStartup(MAKEWORD(2,0), &wsaData); @@ -89,13 +88,14 @@ pthread_create(&thread, NULL, RunWeb, NULL); void WEB::PrepareNet() { listenSocket = socket(PF_INET, SOCK_STREAM, 0); + +struct sockaddr_in listenAddr; listenAddr.sin_family = AF_INET; listenAddr.sin_port = htons(LISTEN_PORT); listenAddr.sin_addr.s_addr = listenWebAddr; -int lng = 1; - #ifndef WIN32 +int lng = 1; if (0 != setsockopt(listenSocket, SOL_SOCKET, SO_REUSEADDR, &lng, 4)) { printf("Setsockopt Fail\n"); @@ -120,8 +120,6 @@ if (res == -1) printf("Listen failed.\n"); exit(0); } - -outerAddrLen = sizeof(outerAddr); } //--------------------------------------------------------------------------- void WEB::SetRefreshPagePeriod(int p) @@ -142,6 +140,14 @@ PrepareNet(); char recvBuffer[4096]; while (1) { + struct sockaddr_in outerAddr; + + #ifndef WIN32 + socklen_t outerAddrLen = sizeof(outerAddr); + #else + int outerAddrLen = sizeof(outerAddr); + #endif + outerSocket = accept(listenSocket, (struct sockaddr*)&outerAddr, &outerAddrLen); if (outerSocket == -1) {