Posted to tcl by apn at Sun Jul 03 03:00:54 GMT 2022view pretty
Run server.tcl in one command window
Run client.tcl in another.
Client output is
d:\src\tcltk\console\tests>tclsh client.tcl
<abc>
<defghi>
<>
<jkl>
What's the extra blank line <> doing there ?
Files are below:
server.tcl
------------
proc accept {so args} {
fconfigure $so -translation binary
puts -nonewline $so "abc\r"
puts -nonewline $so "\ndef"
flush $so
#Now force separate packets
puts -nonewline $so "ghi\r"
flush $so
after 1000
puts -nonewline $so "\njkl"
flush $so
close $so
set ::done 1
}
set so [socket -server accept 10000]
vwait done
------
client.tcl
------
set chan [socket 127.0.0.1 10000]
fileevent $chan readable {
if {[gets $chan line] >= 0} {
puts <$line>
} elseif {[eof $chan]} {
set done 1
}
}
fconfigure $chan -blocking 0 -buffering line
vwait done