Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Странная фича ... TSocketClient/Server [Win95/98, Win2k]


Оши ©   (2004-07-14 11:49:00) 

Заметил интерестную особенность
что когда интенсивно начинаешь передовать строку клиенту/ам
иногда к ним приходит сдвоенная строка .
например :


if (SQLEventForm->ServerS->Active)
 {
   for (int i=0;i<SQLEventForm->ServerS->Socket->ActiveConnections;i++)
    {
      SQLEventForm->ServerS->Socket->Connections[i]->SendText("Hello World!");
    }
 }

значит клиент ловит


Hello World!
Hello World!
Hello World!Hello World! // а потом оппа , и видишь что сдвоенно
Hello World!                  


собсвенно как то неприятно :)

в чем может быть проблема ?
может кто сталкивался ?


Оши   (2004-07-14 16:22:00) [1]

понятно ...


Digitman   (2004-07-14 15:35:00) [2]


> это как ?


это так : нет в Инди-компонентах  ни OnRead ни OnWrite .. все транспортные вызовы выполняются синхронно


Оши   (2004-07-14 14:15:00) [3]

TIdTCPServer/TIdTCPClient
у себя нашел только TCPServer/TCPClient

да и можно по подробнее что за
 "но про неблок.режим при  этом забудь"
это как ?


Digitman   (2004-07-14 12:45:00) [4]


> это можно решить как о по другому


можно.
воспользуйся, например, компонентами TIdTCPServer/TIdTCPClient, но про неблок.режим при  этом забудь


Оши   (2004-07-14 12:08:00) [5]

ну про это я уже думал :)
просто думал это можно решить как о по другому ...


Анонимщик   (2004-07-14 12:04:00) [6]

Сокет гарантирует попадание данных к другой стороне в том же порядке, в каком они были отправлены, и больше ничего. Решение в том, чтобы сначала передавать заголовок, одно из поле которого - размер далее идущего логического куска данных.


Наверх

Титульная страница Поиск, карта сайта Написать письмо