Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

> Стабильность .....TServerSocket   Найти похожие ветки 

 
malefik   (2006-11-27 10:35) [0]

Удалено модератором
Примечание: СПАМ


 
Сергей М. ©   (2006-11-27 10:45) [1]


> malefik   (27.11.06 10:35)



> могу код предоствить


Приводи код в отдельной ветке в "Сетях", с подробными комментариями, где и что у тебя там происходит


 
malefik   (2006-11-27 11:02) [2]

void __fastcall TMyServerThread_1::ClientExecute(void)
{
 int _count_read;

 _write_to_log("Обнаружено подключение с адреса: " + ClientSocket->RemoteAddress);
 while (!Terminated && ClientSocket->Connected)
 {
   try
   {
     TWinSocketStream* pStream = new TWinSocketStream(ClientSocket, CLIENTWAITTIME_1);

     try
     {
       char buffer[BUFFERSIZE_1];
       memset(buffer, 0, sizeof(buffer));

       if (pStream->WaitForData(CLIENTWAITTIME_1))
       {
         if (!Terminated && ClientSocket->Connected)
         {
           try
           {
             _count_read = pStream->Read(buffer, sizeof(buffer));
           }
           catch (...)
           {
             throw 234;
           }

           if (!(_count_read == 0))
           {
             _gps_data->_send_data_to_base(buffer);
           }
           else
             throw 207;
         }
         else
           throw 220;
       }
       else
         throw 206;
     }
     __finally
     {
       delete pStream;
     }
   }
   catch (int& i)
   {
     switch (i)
     {
     case 206:
       {
         _write_to_log("[206] Ошибка. Время ожидания команды от клиента истекло.");
         break;
       }
     case 207:
       {
         _write_to_log("[207] Ошибка. Нет данных для чтения. Проблемы с соединением?");
         break;
       }
     case 230:
       {
         _write_to_log("[230] Ошибка. Принятые данные не содержат разделителей.");
         break;
       }

     case 231:
       {
         _write_to_log("[231] Ошибка. Проблемы с базой данных?");
         break;
       }

     case 232:
       {
         _write_to_log("[232] Ошибка. Метод _parse_fields.");
         break;
       }
     case 233:
       {
         _write_to_log("[233] Ошибка. Метод _apply_to_base.");
         break;
       }

     case 213:
       {
         _write_to_log("[213] Ошибка. Ошибка выделения пакета. Мусор на входе?");
         break;
       }

     case 220:
       {
         _write_to_log("[220] Ошибка. Соединение было разорвано.");
         break;
       }

     case 234:
       {
         _write_to_log("[234] Ошибка. Чтение данных из потока.");
         break;
       }

     }

     ClientSocket->Close();
   }
   catch (...)
   {
     _write_to_log("[???] Ошибка. TMyServerThread_1::ClientExecute.");
     ClientSocket->Close();
   }
 }
}


 
Сергей М. ©   (2006-11-27 11:11) [3]

Русский язык понимаешь ?

1. Вопрос д.б. задан в "Сетях".
2. С подробными комментариями по проблеме.



Страницы: 1 вся ветка

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.035 c
15-1164377403
Loginov Dmitry
2006-11-24 17:10
2006.12.17
Весело


2-1164442220
Zlodey
2006-11-25 11:10
2006.12.17
HWND


2-1164961290
KyRo
2006-12-01 11:21
2006.12.17
Подскажите какой выбрать шрифт


3-1160396447
Sanya_BBB
2006-10-09 16:20
2006.12.17
Как присвоить результат запроса select count (*) from mytable?


15-1164203095
Darvin
2006-11-22 16:44
2006.12.17
Потоки TThread + быстродействие