Thursday 15 July 2010

network programming - Close a tcl server after file copy is complete -



network programming - Close a tcl server after file copy is complete -

i running tcl server in vm , client in windows machine re-create file client vm. problem want server close automatically after task done. not doing , because "vwait" set "forever" .i don't have much knowledge tcl network programming ,so can't figure out how implement it.

my server code

##server side set destination_directory /home/media set service_port 9900 proc receive_file {channel_name client_address client_port} { fconfigure $channel_name -translation binary gets $channel_name line foreach {name size} $line {} set fully_qualified_filename [file bring together $::destination_directory $name] set fp [open $fully_qualified_filename w] fconfigure $fp -translation binary fcopy $channel_name $fp -size $size close $channel_name close $fp } socket -server receive_file $service_port vwait forever

and client code:

##client side set service_port 9900 set service_host 192.168.164.161 proc send_one_file name { set size [file size $name] set fp [open $name] fconfigure $fp -translation binary set channel [socket $::service_host $::service_port] fconfigure $channel -translation binary puts $channel [list $name $size] fcopy $fp $channel -size $size close $fp close $channel } send_one_file "sample.pdf"

please guide.

add 1 more line receive_file proc after close handles:

set ::forever true ;# or other value @

network-programming client-server tcl

No comments:

Post a Comment