diff --git a/syndicate-examples/tcp-echo-server-naive.rkt b/syndicate-examples/tcp-echo-server-naive.rkt new file mode 100644 index 0000000..b816e63 --- /dev/null +++ b/syndicate-examples/tcp-echo-server-naive.rkt @@ -0,0 +1,22 @@ +#lang syndicate +;;; SPDX-License-Identifier: LGPL-3.0-or-later +;;; SPDX-FileCopyrightText: Copyright © 2021 Tony Garnock-Jones + +(module+ main + (require racket/cmdline) + (require syndicate/drivers/tcp) + + (define host "0.0.0.0") + (define port 5999) + + (command-line #:once-each + [("--host" "-H") hostname "Set hostname to listen on" + (set! host hostname)] + [("--port" "-p") port-number "Set port number to listen on" + (set! port (string->number port-number))]) + + (standard-actor-system (ds) + (at ds + (stop-on (asserted (StreamListenerError (TcpLocal host port) $message))) + (during/spawn (StreamConnection $source $sink (TcpLocal host port)) + (at source (assert (Source-sink sink)))))))