This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Date: Tue, 30 Sep 1997 21:34:27 +0100 | From: Sascha Ziemann <szi@aibon.ping.de> | | Hi, | | the Perl book contains a example program that shows how to write a | simple daemon. Does such an example exist for Guile too? | Here's a complicated way to write a simple daemon. talk to it by telnetting to port 20004: (let ((port (socket AF_INET SOCK_STREAM 0)) (inet-port 20004)) ; Some unused port. (bind port AF_INET INADDR_ANY inet-port) (listen port 10) ; Queue up to 10 requests. (let loop () (let ((p (accept port))) (display "Incoming connection from ") (display (inet-ntoa (sockaddr:addr (cdr p)))) (display " port ") (display (sockaddr:port (cdr p))) (newline) (let next-line () (let ((line (read-line (car p)))) (cond ((eof-object? line) (display "EOF\n")) (else (display line) (newline) (display "you sent:\n" (car p)) (display line (car p)) (newline (car p)) (next-line))))) (close-port (car p)) (loop)))) Some wrapper functions would probably be useful, or maybe something from the scsh module.