Posted to tcl by gps at Thu Mar 12 08:12:54 GMT 2009view raw
- set ::write_enabled 0
- proc write sock {
- puts WRITE:$sock
- puts $sock [string repeat "LONG DATA" 2000]
- flush $sock
- }
- proc get sock {
- if {!$::write_enabled} {
- fileevent $sock writable [list write $sock]
- set ::write_enabled 1
- #disable this until the write is done...
- fileevent $sock readable {}
- }
- }
- proc accept {sock args} {
- fconfigure $sock -blocking 0
- fileevent $sock readable [list get $sock]
- }
- socket -server accept 8888
- vwait forever