samer@0: (display "Creating remote session server.\n") samer@0: (define server (java.net.ServerSocket. 2000)) samer@0: samer@0: (define (remote-repl s) samer@0: (display "Waiting for connection...\n") samer@0: (let ((call (.accept s))) samer@0: (display (string-append "Received connection from " (.toString call) "\n")) samer@0: (.start (Thread. (lambda () (service call)))))) samer@0: samer@0: samer@0: (define (service call) samer@0: (display "Asynchronous REPL initiated.\n") samer@0: (samer.silk.Terminal.REPL call)) samer@0: samer@0: (define (serve-for-ever) (remote-repl server) (serve-for-ever)) samer@0: (.start (Thread. serve-for-ever))