## 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*