Вниз
Скачать: CL | DM;

Странная фича ... TSocketClient/Server   Найти похожие ветки 

← →
Оши   (2004-07-14 11:49) [0]

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


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 12:04) [1]

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


← →
Оши   (2004-07-14 12:08) [2]

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


← →
Digitman ©   (2004-07-14 12:45) [3]


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


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


← →
Оши   (2004-07-14 14:15) [4]

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

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


← →
Digitman ©   (2004-07-14 15:35) [5]


> это как ?


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


← →
Оши   (2004-07-14 16:22) [6]

понятно ...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.038 c
1-1094132339
AzIN
2004-09-02 17:38
2004.09.19
procedure


14-1093625014
gn
2004-08-27 20:43
2004.09.19
Знаю что надоел но всёже


1-1094029818
Denmin
2004-09-01 13:10
2004.09.19
Как отсечь пробелы спереди и сзади слова?


8-1088495006
Petrush
2004-06-29 11:43
2004.09.19
TMediaplayer - плейлист?


1-1093933789
Zhekson
2004-08-31 10:29
2004.09.19
MaskEdit и EDBEditError




   Наверх