diff options
author | Douglas-Richardson <Doug116654@gmail.com> | 2017-04-19 18:03:24 -0400 |
---|---|---|
committer | Douglas-Richardson <Doug116654@gmail.com> | 2017-04-19 18:03:24 -0400 |
commit | 5e3bdbeeb4cf32a8a937f3e2f018eae4f4dda286 (patch) | |
tree | fce846dfbfc7b7633e5aeb20a504891c224ececf /feasibility_analysis/tcpevents/server.rkt | |
parent | fe734a889397a9b0bbc55a997049d44166f18eae (diff) | |
parent | 95f7e7443363f21cda927b1446271d5008c439d6 (diff) |
Merge remote-tracking branch 'refs/remotes/origin/master' into grape
Diffstat (limited to 'feasibility_analysis/tcpevents/server.rkt')
-rw-r--r-- | feasibility_analysis/tcpevents/server.rkt | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/feasibility_analysis/tcpevents/server.rkt b/feasibility_analysis/tcpevents/server.rkt deleted file mode 100644 index 4313bda..0000000 --- a/feasibility_analysis/tcpevents/server.rkt +++ /dev/null @@ -1,39 +0,0 @@ -#lang racket - -(define (serve in-port out-port) - (let loop [] - (define evt (sync/timeout 2 - (read-line-evt in-port 'any) - (thread-receive-evt))) - (cond - [(not evt) - (displayln "Timed out, exiting") - (tcp-abandon-port in-port) - (tcp-abandon-port out-port)] - [(string? evt) - (fprintf out-port "~a~n" evt) - (flush-output out-port) - (loop)] - [else - (printf "Received a message in mailbox: ~a~n" - (thread-receive)) - (loop)]))) - -(define port-num 4321) -(define (start-server) - (define listener (tcp-listen port-num)) - (thread - (lambda () - (define-values [in-port out-port] (tcp-accept listener)) - (serve in-port out-port)))) - -(start-server) - -(define client-thread - (thread - (lambda () - (define-values [in-port out-port] (tcp-connect "localhost" port-num)) - (display "first\nsecond\nthird\n" out-port) - (flush-output out-port) - ; copy-port will block until EOF is read from in-port - (copy-port in-port (current-output-port))))) |