Socket.Disconnect(bool reuse)
według MSDN włącza się do ponownego wykorzystania gniazda. Moje pytania to:Socket.Disconnect (bool ponowne)
Jeśli zdecydujemy się na ponowne użycie gniazda, czy to oznacza, że będzie on ponownie używać tego samego lokalnego punktu końcowego? Czy zachowałby port dla tego gniazda, czy też po prostu (nie wierzę), że zachowuje wszystkie zasoby obiektów?
Jeśli faktycznie zapisuje tylko zasoby, zostaną one przydzielone do następnego połączenia, a jeśli tak, czy bufory wysyłania/odbierania będą automatycznie spłukiwane, czy jest jakiś sposób ich przepłukać? Czy
Socket.ShutDown(ShutDown.Both)
zrobić to dla mnie na rozłączenie?W jakiej sytuacji użyłbym
Socket.Disconnect(false)
? Jeśli cały cel polega na ponownym wykorzystaniu gniazda, co by mi to dało?
Wiem, że to nie odpowiada wprost na twoje pytania, ale ta odpowiedź daje więcej szczegółów na temat różnych zachowań między zamknięciem gniazda .NET, a tym, jaki wpływ ma na gniazdo na poziomie Windows: http: // stackoverflow.com/questions/2014887/socket-close-doesnt-really-close-tcp-socket-c w najlepszym razie wydaje się, że nie byłoby zagwarantowane inny punkt końcowy, po prostu dzwoniąc Shutdown i zamknij na obiekcie gniazda. – JNadal