Size: a a a

2018 August 02

AE

Andrey Enshin in Pro Telecom
хм, это что получается, гарантирует ли нам TCP доставку или таки нет?
источник

VG

Vladislav Grishenko in Pro Telecom
не доставку, а подтверждение доставки
источник

VG

Vladislav Grishenko in Pro Telecom
Vladislav Grishenko
см. setsockopt/SO_SNDBUF/TCP_NODELAY, getsockopt/TCP_INFO
+ ioctl/SIOCOUTQ
источник

VG

Vladislav Grishenko in Pro Telecom
но обычно это не нужно, после опр. кол-ва ретрансмитов неподтвержденных пакетов соединение будет разрушено
источник

AE

Andrey Enshin in Pro Telecom
Значение 2, в примере выше, не подтверждает доставку. Мы можем потерять данные навсегда.

Я не знал о SIOCOUTQ. Думаю, это решит проблему, если данные терять нельзя.

Есть мысль, что это компромисс на который разработчики ядра идут, позволяя буферизировать данные и таким образом считая их отправленными (write возвращает 2).
Это позволяет значительно ускорить передачу и только в таких редких случаях, см. пример выше, потерять данные размером не выше буфера TCP сокета.
источник

VG

Vladislav Grishenko in Pro Telecom
> Я не знал о SIOCOUTQ. Думаю, это решит проблему, если данные терять нельзя.
это ничего не решит )
источник

VG

Vladislav Grishenko in Pro Telecom
данные были отправлены, получены, ack потерялся, связь порвалась (свичи сгорели)
источник

SK

Sergio Keler in Pro Telecom
Andrey Enshin
сложный вопрос через или
15 минут примерно, да.
приложение получит сигнал, но как и какой -- зависит от оси, api итп.
нормально, просто закроется файл/дескриптор/сокет. лови закрытие файла.
источник

VG

Vladislav Grishenko in Pro Telecom
и что должно быть в этом случае?
источник

VG

Vladislav Grishenko in Pro Telecom
или c selective ack - когда ackи вообще не были отправлены (еще), а канал уже порвался
источник

SK

Sergio Keler in Pro Telecom
Если читать/писать асинхронно через select() никаких блокировок не будет
источник

VG

Vladislav Grishenko in Pro Telecom
Sergio Keler
Если читать/писать асинхронно через select() никаких блокировок не будет
разговор не про это
источник

SK

Sergio Keler in Pro Telecom
Не подтвердилась доставка, значит её не было, мне кажется.
источник

SK

Sergio Keler in Pro Telecom
если надо гарантию доставка/получение, надо поверх tcp городить MQ какое-то.
источник

VG

Vladislav Grishenko in Pro Telecom
в общем, о том, что получено достоверно может знать только получатель. грубо говоря, именно клиент запрашивает Content-Range для докачки, а не сервер контролирует что дал что не дал для *разных* сокетов
источник

VG

Vladislav Grishenko in Pro Telecom
Sergio Keler
если надо гарантию доставка/получение, надо поверх tcp городить MQ какое-то.
sctp можн
источник

VG

Vladislav Grishenko in Pro Telecom
@insoln по sctp я не обманул? )
источник

I

Innokentiy in Pro Telecom
я хз :)
источник

I

Innokentiy in Pro Telecom
вообще с ним не сталкивался
источник

NK

ID:324696727 in Pro Telecom
C такой проблемкой столкнулся, сделал vpn тонель на францию на адреса VK, mail ru, но на одном тике браузеры жалуются на сертификат, в чем может ыть проблема?
источник