set ircsnapshot_port 1234 #--------------------------------------------------- # script comes from here proc ircsnapshot_StartServer {port} { set s [socket -server ircsnapshot_OnAccept $port] puts "\[ircsnapshot\] Startred" } proc ircsnapshot_OnAccept {sock addr port} { global ircsnapshot_TimeoutTimers fconfigure $sock -buffering line -blocking no puts $sock "HELLO_FROM_IRCSNAPSHOT_SERVER" fileevent $sock readable [list ircsnapshot_OnReceive $sock] puts "\[ircsnapshot\] Accepted connection from $addr:$port -> $sock" } proc ircsnapshot_OnReceive {sock} { global ircsnapshot_TimeoutTimers puts "AHA!!" if {not ([eof $sock] && [catch {gets $sock line})]} { puts "\[ircsnapshot\] $sock sent: $line" if {$line == "GETSNAPSHOT"} { puts $sock "hello" } else { puts $sock "BAD_PROTOCOL" } } puts "\[ircsnapshot\] $sock closed." close $sock } ircsnapshot_StartServer $ircsnapshot_port vwait forever