From c46fde880b6d3f9eef24e8dd1ab7bc3f6a8a0f18 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Tue, 31 May 2011 20:28:57 +1000 Subject: Add aio support for buffering And fconfigure for Tcl compatibility Signed-off-by: Steve Bennett --- examples/client-server.tcl | 2 +- examples/tcp.server | 3 ++- examples/udp.client | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/client-server.tcl b/examples/client-server.tcl index 4856e47..0740773 100644 --- a/examples/client-server.tcl +++ b/examples/client-server.tcl @@ -15,6 +15,7 @@ if {[os.fork] == 0} { sleep .1 set f [socket stream localhost:9876] + fconfigure $f -buffering line set done 0 @@ -30,7 +31,6 @@ if {[os.fork] == 0} { proc onwrite {f} { verbose "child: sending request" $f puts -nonewline "GET / HTTP/1.0\r\n\r\n" - $f flush $f writable {} } diff --git a/examples/tcp.server b/examples/tcp.server index ef71fe5..1e400fb 100644 --- a/examples/tcp.server +++ b/examples/tcp.server @@ -11,6 +11,8 @@ $s readable { if {[os.fork] == 0} { $s close + $sock buffering line + # Get the request (max 80 chars) - need the source address while {[$sock gets buf] >= 0} { set buf [string trim $buf] @@ -26,7 +28,6 @@ $s readable { # Send the result back to where it came from $sock puts $result - $sock flush } } diff --git a/examples/udp.client b/examples/udp.client index da74e77..165050a 100644 --- a/examples/udp.client +++ b/examples/udp.client @@ -15,12 +15,13 @@ $s close # Now sending via a connected udp socket set s [socket dgram 127.0.0.1:20000] +$s buffering line foreach i [range 5 10] { # Socket is connected, so can just use puts here # But remember to flush to ensure that each message is separate $s puts -nonewline "$i * $i" - $s flush + #$s flush # Receive the response - max length of 100 puts [$s recvfrom 100] -- cgit v1.1