socket class / button
set socket ""
class testt {
private variable socket
public method acceptSocketConnection
public method processMessage
constructor {args} {
set server [socket -server acceptSocketConnection -myaddr 127.0.0.1 2200]
vwait forever
}
}
body testt::acceptSocketConnection { a_sock an_addr a_port } {
global socket
set socket $a_sock
fconfigure $socket -buffering line -translation lf -blocking 0 -buffersize 72000
fileevent $socket readable [code $this processMessage]
set ready 1
set datestamp 20110901
if { ![regexp -nocase windows $::tcl_platform(os)] } {
set l_genfile [file join [pwd] "strubio_${datestamp}.gen"]
puts $socket "GENFILE $l_genfile"
set l_matfile [file join [pwd] "strubio_${datestamp}.mat"]
puts $socket "NEWMAT $l_matfile"
puts $socket "NEWMAT $l_matfile"
}
}
body testt::processMessage { } {
global socket
gets $socket l_message
if {$l_message != ""} {
puts $l_message
}
}
proc sendCommand { args } {
global socket
puts $socket $args
}
button .b \
-text "aaa" \
-command {testt cc}
button .c \
-text "bbb" \
-command {sendCommand GO}
pack .b
pack .c