/ / W pythonie, kiedy używasz select.select na obiektach gniazd, jak mam obsługiwać gniazda, które kończą się na liście błędów? - python, gniazda, wybierz

W pythonie, podczas używania select.select na obiektach gniazd, jak mam obsługiwać gniazda, które kończą się na liście błędów? - python, gniazda, wybierz

read, write, error = select.select(sockets, sockets, sockets, 60.0)

Co jest zalecane, jeśli coś znajdzie się na liście błędów?

Odpowiedzi:

1 dla odpowiedzi № 1

W systemach operacyjnych, które znam, nie ma nic, co moglibyście zrobić z gniazdami cierpiącymi na "wyjątkowe warunki", z wyjątkiem próby ich zamknięcia (co może stanowić wyjątek, więc należy użyć try/except wokół próby). Wiesz, że połączenia, które oznaczały te gniazda, zostały nieprawidłowo zakończone i mogą chcieć napisać kilka informacji na ten temat, pokazać problem użytkownikowi lub temu podobne. W niektórych sytuacjach może być właściwe ponowne nawiązanie tych połączeń (może się to oczywiście nie udać, w zależności od wyjątkowego warunku, więc bądź przygotowany na to).