Re: UDP sockets: отсев "опоздавших" пакетов.
От: 0xDEADBEEF Ниоткуда  
Дата: 19.11.04 15:27
Оценка:
Hello, idontsov!
You wrote in conference rsdn.network on Thu, 18 Nov 2004 20:49:34 GMT:

i> Приложение периодически запрашивает сервер: отправляет udp пакет запроса

i> и ждет ответ. Ответ ожидается в течение определенного тайм-аута.
UDP — НЕНАДЕЖНЫЙ протокол. Поэтому он может:
a) терять датаграммы
б) менять их местами т.е. A2 может придти раньше A1 и тд.

i> Скажите, на сколько корректно для отсева таких опоздавших датаграмм

i> открывать/закрывать клиентский сокет на каждом витке цикла опроса?
Бесполезно. UDP сокет не имеет понятия "соединение".
Например, если твои датаграммы передаются "голубиной почтой" и
придут через полгода, ты их словишь и на новый сокет.

Единственное, что можно посоветовать, это в вставлять пакеты запросов и ответов "метку транзакции". То есть например в R1 (и соответственно в A1), метка будет "1", в R2 и A2 метка будет "2" и т.д.
Posted via RSDN NNTP Server 1.9 gamma
__________
16.There is no cause so right that one cannot find a fool following it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.