syndicate-rkt/syndicate-examples/tcp-client-naive.rkt

22 lines
780 B
Racket

#lang syndicate
;;; SPDX-License-Identifier: LGPL-3.0-or-later
;;; SPDX-FileCopyrightText: Copyright © 2021-2022 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
(module+ main
(require racket/cmdline)
(require (only-in racket/port read-line-evt))
(require (only-in racket/string string-trim))
(require syndicate/drivers/tcp)
(define host "127.0.0.1")
(define port 5999)
(command-line #:once-each
[("--host" "-H") hostname "Set hostname to connect to"
(set! host hostname)]
[("--port" "-p") port-number "Set port number to connect to"
(set! port (string->number port-number))])
(standard-actor-system (ds)
(at ds (assert (StreamConnection (port-source) (port-sink) (TcpRemote host port))))))