TCP, "гарантированная доставка" и Клуб "Хочу все знать"
От: Ed.ward Россия  
Дата: 23.03.06 09:34
Оценка:
Добрый день господа!

Что-то я совсем запутался с этим TCP с "гарантированной" доставкой...
Сразу оговорюсь, пользую .NET...

Порылся поиском, но кроме советов "отключить nagle алгоритм" и "выставить буфер в 0" ничего толкового не нашел.

Программка клиент/сервер в основном запросы к базе и всякая хрень, но и посылка сообщений другим пользователям — как же без этого.
Ну и сервер активничает иногда рассылая нотификации клиентам.

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

1. Как (и кому) он сообщит об ошибке.
2. Как быть?

Как оформить систему что бы точно знать, что вот этот пакет (именно пакет) не ушел?
При асинхронном send нотификация придет только когда данные реально дошли или тоже когда они просто попали в буфер?
Может ли быть так что полтора пакета ушло а пол обломилось?

Применим ли TCP в такого рода программах или я не на ту поляну залез, вот в чем вопрос?

Может ткнете меня в какую-нить доку по практическому применению сокетов (если можно на великом и могучем ).
Именно практическому, с теорией конечно тоже не фонтан, но с пивом тянет

P.S. маленький тупой вопрос, можно ли выставить timeout на connect? вроде нигде не нашел... тогда какой он по-умолчанию?

Ed.ward
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.