/ / socket fd bol nazvaný "shutdown", môžem "znovu otvoriť" to? linux, zásuvky, vypnutie

socket fd bol nazvaný "vypnutie", môžem ho "znovu otvoriť"? linux, zásuvky, vypnutie

Vieme, že zásuvka fd môže byť čiastočne zatvorená funkciou "shutdown ()". Moja otázka je, existuje API pre opätovné otvorenie buď čítať peer alebo písať peer?

odpovede:

1 pre odpoveď č. 1

Nie, to nie je možné. Vypnutie podľa štandardu iniciuje žiadosť FIN na peer. Preto bude komunikácia vypnutá na oboch stranách spojenia. Tiež, aj keď to budete manipulovať, FSM lokálneho TCP zásobníka sa prepne späť do stavu, v ktorom je príslušná komunikácia povolená / podporovaná, peer to nerobí.

Pozri sa sem: http://tcpipguide.com/free/t_TCPOperationalOverviewandtheTCPFiniteStateMachineF-2.htm


1 pre odpoveď č. 2

socket fd bol nazvaný "vypnutie", môžem ho "znovu otvoriť"?

Nie je to zatvorené, ale určite je vypnuté, jedným alebo druhým smerom, alebo oboma, a neexistuje žiadny API, ktorý by to vrátil späť.