Posted to tcl by apn at Sun Jul 03 03:00:54 GMT 2022view raw
- 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