בדוגמה זו מובאת תוכנית המיישמת שרת. תוכנית
זאת מדגימה את התחכום שבשרותי השקעים (socket) שמספקת Tcl. השרת יכול לקבל
התקשרויות ממספר לקוחות. לכל לקוח, השרת חוזר על מה שנשלח אליו מהלקוח. מובן
שניתן להרחיב תשתית זו לביצוע פעולות שיש בהן ממש. Tcl מנהלת את כל הקלט
והפלט מול הלקוחות השונים כך שהשרת לא צריך לחסום לקוחות או להמתין להתקשרויות
חדשות.
ראשית נציג את תמצית הפקודות בהן התוכנית משתמשת ולאחר מכן נדון
בפירוט בקוד.
socket -server command
port
הפקודה מייצרת שקע מאשין עבור השרת.
כאשר מתחבר לקוח נקראת הפקודה command
|
vwait varname
הפקודה גורמת לכניסה ללולאת הודעות וממתינה
עד שהמשתנה הגלובאלי שקיבלה משתנה.
|
fileevent channel what
command
רושמת את הפקודה command כמטפלת במצב שהערוץ channel
מוכן לפעולות קלט.פלט. what מגדיר האם קריאה או כתיבה.
|
cfonfigure channel options
שולט על צורת הפלט/קלט דרך channel
|
eof channel
בדיקה האם הערוץ הוא במצב eof
|
catch script
varnam
משערכים את התסריט script ושמים את התוצאה או ערך השגיאה במשתנה
ששמו varname.
|
puts string
הדפסת המחרוזת string לאמצעי הפלט הסטנדרטי
|
puts channel string
הדפסת המחרוזת לתוך המשתנה channel.
|
|