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

Сокет на Win API   Найти похожие ветки 

 
atruhin ©   (2004-06-18 08:53) [0]

Сокет в блокирующем режиме. Вызыв Send возвращает кол-во отправленных байт.
Len := Send(FSocket,FOutData[1],length(FOutData),0);
if Len = SOCKET_ERROR then break;
ВОПРОС: есть ли гарантия что эти байты получены адресатом?


 
Григорьев Антон ©   (2004-06-18 09:03) [1]

Нет. Есть гарантия только того, что байты поставлены в очередь на отправку. См., например, http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1021


 
atruhin ©   (2004-06-18 09:42) [2]

Спасибо. А то возникла мысь не зря ли шлю подтверждения приема.


 
lancoder   (2004-07-03 03:29) [3]

А как послать подтверждение приёма?


 
Polevi ©   (2004-07-03 11:20) [4]

send


 
lancoder   (2004-07-03 16:31) [5]

send, к сожалению, не показывает количество отправленых байт, а показывает кол-во байт положенных в буфер сокета.


 
Polevi ©   (2004-07-04 19:22) [6]

все пропало


 
VID ©   (2004-07-04 20:48) [7]

lancoder, ты вызвал send. Твои данные будут сначала отправлены в буфер. Потом они ЛИБО дойдут до адресата, ЛИБО ты получишь ошибку (пусть и не сразу, а через время которое в TCP-настройках твоей ОС указано как макс. допустимый период ожидания ответа от получателя - ведь TCP/IP протокол сам реализует эту фичу - оповещении о получении данных). Другого не дано. Так что считаю оповещение получателем о получении данных излишним.

Если я в чём-то ошибся, буду рад корректировкам (только не таким пессимистичным как у Polevi ©   (04.07.04 19:22) [6])


 
Григорьев Антон ©   (2004-07-05 08:03) [8]


> VID ©   (04.07.04 20:48) [7]


> Так что считаю оповещение получателем о получении данных
> излишним.


Не всегда. Иногда дополнительное подтверждение показывает, что удалённая сторона не только получила пакет, но и опознала его как допустимый в рамках выбранного протокола. Для создания действительно надёжных протоклов это, ИМХО, необходимо.



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

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



Память: 0.46 MB
Время: 0.02 c
4-1091415841
DelphiN!
2004-08-02 07:04
2004.09.12
Отслеживание запуска процессов


1-1093851267
digger
2004-08-30 11:34
2004.09.12
TList, освобождение


14-1093103407
QuasiLamo
2004-08-21 19:50
2004.09.12
База слов из MSWord


1-1093523375
ОлегО
2004-08-26 16:29
2004.09.12
Ввод данных


3-1092391295
Nata
2004-08-13 14:01
2004.09.12
isc4.gdb




   Наверх