From: Maxim Mamontov Date: Wed, 8 Dec 2010 15:19:12 +0000 (+0200) Subject: В консольном авторизаторе в классе отвечающем за WEB-интерфейс проведен X-Git-Tag: 2.407-rc3~302 X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/307532819d6117d154436da4131ca645f7691a63 В консольном авторизаторе в классе отвечающем за WEB-интерфейс проведен рефакторинг кода, добавлена инициализация некоторых членов, уменьшена область видимости переменных --- diff --git a/projects/sgauth/web.cpp b/projects/sgauth/web.cpp index caec33a0..ffab862b 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,6 +88,8 @@ 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; @@ -120,8 +121,6 @@ if (res == -1) printf("Listen failed.\n"); exit(0); } - -outerAddrLen = sizeof(outerAddr); } //--------------------------------------------------------------------------- void WEB::SetRefreshPagePeriod(int p) @@ -142,6 +141,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) { diff --git a/projects/sgauth/web.h b/projects/sgauth/web.h index b734f16b..be9e158d 100644 --- a/projects/sgauth/web.h +++ b/projects/sgauth/web.h @@ -65,8 +65,10 @@ public: void UpdateStat(const LOADSTAT & ls); void Start(); private: - void PrepareNet(); + int SendReply(); + int SendCSS(); + int Redirect(const char * url); #ifdef WIN32 WSADATA wsaData; @@ -74,28 +76,15 @@ private: pthread_t thread; #endif - int SendReply(); - int SendCSS(); - int Redirect(const char * url); - - string dirName[DIR_NUM]; - int res; - int listenSocket; - int outerSocket; - struct sockaddr_in listenAddr; - struct sockaddr_in outerAddr; - int refreshPeriod; + string dirName[DIR_NUM]; + int res; + int listenSocket; + int outerSocket; + int refreshPeriod; - uint32_t listenWebAddr; - LOADSTAT ls; + uint32_t listenWebAddr; + LOADSTAT ls; list messages; - - #ifndef WIN32 - socklen_t outerAddrLen; - #else - int outerAddrLen; - #endif }; //----------------------------------------------------------------------------- -