Gniazdo nie zamyka się po zamknięciu aplikacji, jeśli uruchomiony proces jest otwarty

Moja aplikacja C # .net obecnie wykonuje następujące czynności (między innymi):

Tworzy wątek, który otwiera gniazdo na określonym porcie i czeka na instrukcję.Wiadomość przychodzi, wątek gniazda odczytuje wiadomość i wywołuje zdarzenie.Moduł obsługi zdarzeń wywołuje niezbędne funkcje, aby przeanalizować komunikat i wykonuje niezbędne działania, na przykład uruchomienie aplikacji.Określona zewnętrzna „aplikacja” zostanie uruchomiona asynchronicznie.

Po ponownym uruchomieniu aplikacji, ale zewnętrzna aplikacja nie zamyka się, gniazdo wydaje się nigdy nie zamykać. Gdy próbuję ponownie uruchomić komunikację na tym porcie, pojawia się błąd. Jednak po zamknięciu aplikacji zewnętrznej mogę otworzyć gniazdo w tym porcie.

Wygląda na to, że mój program nie zamyka się prawidłowo. Powinien zabijać gniazdo podczas zamykania, jednak gdy zewnętrzny proces działa, to gniazdo nigdy się nie zamyka.

Jakieś pomysły?

questionAnswers(4)

yourAnswerToTheQuestion