## serwer # socket -server obsluga 10000 proc obsluga {s args} { puts "obsluga: ktos sie podlaczyl" fileevent $s readable "obslugaKli $s" # dla każdego zgłaszającego się klienta definiujemy # obsługę zdarzenia "readable" na gniazdku tego klienta ... # uwaga: jeśli można odczytać 1 znak to można odczytać cały komunikat! } proc obslugaKli s { if {[eof $s]} { puts "obslugaKli: close"; close $s; return } # "eof" pojawi się dokładnie wtedy, gdy klient zamknie gniazdko! # wtedy po stronie serwera usuwamy zasoby związane z tym klientem set linia [gets $s] puts "obslugaKli: od $s: $linia" } #% file chann sock*