Posted to tcl by mjanssen at Fri May 08 12:55:25 GMT 2009view pretty

#!/usr/bin/tclsh8.6
set listenport 9002
socket -server accept_connection $listenport
proc accept_connection {cid ip port} {
	puts "[clock milliseconds]: Incoming Connection from $ip:$port"
	fconfigure $cid -buffering line -encoding iso8859-1
	fileevent $cid readable "readdata $cid"
}
proc readdata {cid} {
	if {[gets $cid data] < 0} {
		puts "Socket closed by remote host."; close $cid; return
	}
    set start [clock milliseconds]
	puts "[clock milliseconds]: Incoming data: $data"
	puts $cid $data
	puts $cid $data
	puts $cid $data
    set end [clock milliseconds]
    puts "[clock milliseconds]: Data echoed in [expr {$end-$start}] ms"
}
vwait forever