# Ejemplo de comando finger # Si el número de argumentos no es 1, indica el uso y sal. if {$argc ne 1} { puts "Uso: $argv0 usuario@ejemplo.com" exit } set largs [split $argv @] # largs = "user ejemplo.com" set user [lindex $largs 0] # user = usuario set host [lindex $largs 1] # host = ejemplo.com set conn [socket stream $host:79] # abrimos conexion con ejemplo.com:79 proc query {} { global conn global user $conn puts $user # "envia usuario" a la conexión abierta } proc result {} { global conn while {[$conn eof] ne 1} { # mientras que la conexión no devuelva # EOF, fin de fichero. puts [$conn gets] # escribe lo que reciba del servidor } $conn close # cierra la conexión tras EOF, fin de fichero. } query # llama a query {} result # llama a result {}