Posted to tcl by Zarutian at Fri May 08 13:02:22 GMT 2009view raw

  1. package require Tcl 8.4
  2.  
  3. proc connect {host port} {
  4. variable sock
  5. catch { close $sock }
  6. set sock [socket $host $port]
  7. fconfigure $sock -encoding binary -translation binary -blocking no
  8. fileevent $sock readable [list getData $sock]
  9. puts "Connected to $host at $port via $sock"
  10. }
  11. proc getData {sock} {
  12. if {[eof $sock]} {
  13. puts "connection $sock closed by peer"
  14. close $sock
  15. return
  16. }
  17. puts "[set sock]: [read $sock]"
  18. }
  19. proc send {sock data} {
  20. catch {
  21. puts -nonewline $sock $data
  22. flush $sock
  23. }
  24. }