/ / socket fd został nazwany "shutdown", czy mogę go "otworzyć" ponownie? - Linux, gniazda, wyłączanie

gniazdo fd nazywa się "shutdown", czy mogę je "otworzyć" ponownie? - Linux, gniazda, wyłączanie

Wiemy, że gniazdo fd może być częściowo zamknięte przez funkcję "shutdown ()". Moje pytanie brzmi, czy istnieje interfejs API do ponownego otwierania peer-a-peer lub peer-a?

Odpowiedzi:

1 dla odpowiedzi № 1

Nie, to niemożliwe. Zamknięcie zgodnie ze standardem inicjuje zapytanie FIN do peera. W ten sposób komunikacja zostanie zamknięta po obu stronach połączenia. Ponadto, nawet jeśli manipulujesz tak, że FSM lokalnego stosu TCP jest przełączany z powrotem do stanu, w którym odpowiednia komunikacja jest dozwolona / obsługiwana, partner nie będzie tego obsługiwał.

Popatrz tutaj: http://tcpipguide.com/free/t_TCPOperationalOverviewandtheTCPFiniteStateMachineF-2.htm


1 dla odpowiedzi nr 2

gniazdo fd nazywa się "shutdown", czy mogę je "otworzyć" ponownie?

Nie jest zamknięty, ale z pewnością jest zamknięty, w jednym lub drugim kierunku, lub w obu, i nie ma API, aby to cofnąć.