Bogowie pętli uderzają ponownie - Jak utrzymać połączenie z gniazdem pomimo głównego interfejsu GUI?
Pytanie
Jak uruchomić Tkintermainloop
i nieskończona pętla serwera jednocześnie w tym samym skrypcie?
tło
Jestem w trakcie tworzenia serwera GUI w Tkinter (Python 2.7.3). Jak dotąd GUI działa poprawnie, serwer działa poprawnie,ale Mam problemy z integracją obu. O ile wiem (popraw mnie, jeśli się mylę) serwer musi działać w nieskończonej pętli, aby zaakceptować nowych użytkowników. Niestety, GUI potrzebuje także nieskończonej pętli. Zastanawiam się, jak uruchomić obie pętle w tym samym czasie.
Moja obecna funkcja mainloop wygląda tak (s
jest obiektem gniazda):
def mainloop(s):
while True:
channel, addr = s.accept()
print "Connected with", addr
Jest to oczywiście konieczne, aby serwer działał (myślę.) Problem polega jednak na tym, że ta pętla jest przed mojąmainloop
i dlatego mam z tym problemy. Jeśli zrobię to na odwrót, serwer nigdy nie zostanie otwarty.
Pełny kod
Mój kod serwera totutaj, a mój klient jesttutaj.
Dzięki!