(define test-port 1111) (define (scheme-server) (let* ((log-file-name "./scheme-server.log") (log-file (open-output-file log-file-name (bitwise-ior open/append open/create)))) (bind-listen-accept-loop protocol-family/internet (lambda (sock addr) (let* ((op (socket:outport sock)) (input (read (socket:inport sock)))) (format log-file "Got: ~A~%" input) (force-output log-file) (let ((output (eval input (interaction-environment)))) (format log-file "Wrote: ~A~%" output) (force-output log-file) ;(cond ; ((number? output) ; (write output) op)) ; (else ; (write output op))) (write output op) (if (number? output) (newline op)) (force-output op)))) test-port)))