<html>
<head>
<meta content="text/html; charset=KOI8-R" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Привет.<br>
<br>
Как известно хэндлер с сокетом можно закрывать с двух сторон,<br>
Когда кто то шлёт FIN - Это означает что он не будет больше слать
данные, это не значит что он не будет их принимать.<br>
В хорошей реализации это приводит к eof на чтение из сокета, на
который пришёл FIN.<br>
Предлагаю <br>
1. perldoc -f getsockopt<br>
2. вытащить из кишок вашей библиотеки сокет.<br>
3. совместить полученное в 1. и 2.<br>
4. прочитать стивенса.<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 28.06.2013 16:26, Геннадий Евгеньевич wrote:<br>
</div>
<blockquote
cite="mid:CAJ70VTnkE7a2gGMqugsVf3os8jLf5T9zXVnpqVWU=0quSa=npA@mail.gmail.com"
type="cite">Доброе время суток. Опишу ситуацию:
<div><br>
</div>
<div>Есть приложение типа cliet-server, между ними бегают
туда-сюда пакеты по протоколу SMPP, в ходе работы возникает
ситуация, когда серверная сторона шлет tcp с флагами FIN+ACK, но
т.к. я работаю с SMPP/perlsockets на уровень выше, я об этом не
знаю, и пока сокет не закроется, моя клиентская часть по
прежнему продолжает слать SMPP пакеты, что является не
правильно. Вопрос заключается в том, как можно определить
низкоуровневое хождение пакетов относительно моего соединения,
на ум приходит конечно снифинг всего, но может есть какая
технология иная, позволяющая решить мой вопрос?</div>
<div><br>
</div>
<div>os: OS FreeBSD/Debian</div>
<div><br>
</div>
<div>, мне необходимо определить с каким флагами ходят пакеты и
если пришел пакет с [FIN, ACK] тогда я ничего не делаю, ОС сама
шлет в ответ RST
<div>-- <br>
--<br>
С уважением Геннадий Евгеньевич
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
<br>
<br>
-- <br>
WBR, Vany<br>
</body>
</html>