哟,我用一个简单的协议编写了一个服务器:客户端发送一条线路,服务器发送一条线路作为响应,重复。为了防止客户端通过发送大量行但不接受数据来填充 Tcl 的输出缓冲区,我可以只检查chan pending output
而不使用可写文件事件吗?
proc respond {stream msg} {
if {[chan pending output $stream] <= 1024} {
puts $stream $msg
} else {
#close $stream
}
}