mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 21:59:17 +02:00
20 lines
648 B
Scheme
20 lines
648 B
Scheme
|
|
;; Simple R7RS echo server, using (srfi 18) threads and the
|
|
;; run-net-server utility from (chibi net server).
|
|
|
|
(import (scheme base) (scheme write) (srfi 18) (chibi net server))
|
|
|
|
;; Copy each input line to output.
|
|
(define (echo-handler in out sock addr)
|
|
(let ((line (read-line in)))
|
|
(cond
|
|
((not (or (eof-object? line) (equal? line "")))
|
|
(display "read: ") (write line) (newline)
|
|
(display line out)
|
|
(newline out)
|
|
(flush-output-port out)
|
|
(thread-yield!)
|
|
(echo-handler in out sock addr)))))
|
|
|
|
;; Start the server on localhost:5556 dispatching clients to echo-handler.
|
|
(run-net-server 5556 echo-handler)
|