Здравствуйте, rnn, Вы писали:
rnn>>> Суть в том что стороннее приложение считает что послав TCP RST оно отменяет выполнение действия, но наше приложение работает с данными полученными по http протоколу и не может отслеживать tcp сессии(как я понимаю это вообще ложится на плечи вэб сервера). Вопрос в следующем, могу ли я как то в своем приложение обработать эту ситуацию и отменить действие по TCP RST событию?
N>>Очевидно, если об этом не сообщили, то не можете. А как именно веб-сервер может сообщить об этом, пока идёт обработка запроса, зависит от этого сервера.
rnn>Т.е. получается мне надо читать доки по конкретному вэб серверу, который я использую и пытаться понять как он об этом сообщает? Какой то общей ситуации нет?
Да, нету. Сервера слишком разнообразны, чтобы был общий механизм.
rnn>И еще, я так понимаю при передачи данных, происходит установления множества сессий, т.е. она не поддерживается на протяжение всего времени передачи данных по HTTP.
Если страница состоит из множества объектов, то это вероятно. Но так же и вероятно, что TCP сессия будет одна. Типичный браузер сейчас старается сохранять сессии на некоторое время и переиспользовать их.
rnn> Если так, то отследить для какой конкретно сессии пришел RST будет трудно.
Если сервер вообще в состоянии отменить запрос до получения ответа со стороны обрабатывающего его кода, то он и даст достаточную идентификацию этого запроса.