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

Вниз

ClientSocket/ServerSocket   Найти похожие ветки 

 
virginkiller ©   (2002-12-02 13:38) [0]

Есть синхронное соединение на вышеуказанных компонентах. Есть очередь исходящих блоков данных с приоритетами. Вот из-за приоритетов возникла проблема. Если я посылаю какой-блок данных, могу я как-то узнать, что он отослался целиком, чтобы только после этого выбрать из списка следущий по приоритету и послать его?


 
Digitman ©   (2002-12-02 13:49) [1]


> он отослался целиком


Что это значит ? Принят целиком принимающей стороной (1) ? Или целиком поставлен во внутр.очередь на передачу передающей стороной (2)?

В случае (1) можно предусмотреть квитирование доставки цельного блока адресату. Получив цельный блок, приемник просто формирует некое квитирующее сообщение с инф-цией , подтверждающей получение блока, и, став на время передатчиком, отправляет его по тому же коннекту передатчику блока (который должен, разумеется, ожидать квитанцию, став на время приемником квит.сообщения)


 
VirginKiller ©   (2002-12-02 15:55) [2]

Т.е. после Stream.SendStream (TWinSocketStream)достаточно поставить
Sent := True;
repeat
if Stream.Waitfordata(TimeOut) then
Sent := Stream.Read(Flag,1) = 1
else
Break;
until (not Connected) or (Sent);
?


 
Digitman ©   (2002-12-02 16:09) [3]

Ну что-то типа этого.



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-96671
Василий Акебадзе
2003-01-21 17:17
2003.01.30
Путь к Favorites


3-96600
Whippi
2003-01-13 15:56
2003.01.30
Что за фигня: Обнаружены символы за пределами инструкций SQL


14-96962
AZ
2003-01-10 23:11
2003.01.30
Мужики ли мы?


3-96580
Alexander_K
2003-01-10 15:44
2003.01.30
Может версия не та?


14-96976
Ixion
2003-01-12 01:04
2003.01.30
Есть ли Lazarus для Win32 ?