]> git.stg.codes - stg.git/blobdiff - projects/sgauth/web.cpp
Генерацію документації по XML RPC перенесено у каталог book
[stg.git] / projects / sgauth / web.cpp
index caec33a00391cf0ff2b5e61810d36982391a3f17..edafc9d84aa05eede4bdf12e196c6b1f2e2faeb5 100644 (file)
@@ -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)
         {