(guile.info.gz) Internet Socket Server
Info Catalog
(guile.info.gz) Internet Socket Client
(guile.info.gz) Internet Socket Examples
38.11.4.2 Internet Socket Server Example
........................................
The following example shows a simple Internet server which listens on
port 2904 for incoming connections and sends a greeting back to the
client.
(let ((s (socket PF_INET SOCK_STREAM 0)))
(setsockopt s SOL_SOCKET SO_REUSEADDR 1)
;; Specific address?
;; (bind s AF_INET (inet-aton "127.0.0.1") 2904)
(bind s AF_INET INADDR_ANY 2904)
(listen s 5)
(simple-format #t "Listening for clients in pid: ~S" (getpid))
(newline)
(while #t
(let* ((client-connection (accept s))
(client-details (cdr client-connection))
(client (car client-connection)))
(simple-format #t "Got new client connection: ~S"
client-details)
(newline)
(simple-format #t "Client address: ~S"
(gethostbyaddr
(sockaddr:addr client-details)))
(newline)
;; Send back the greeting to the client port
(display "Hello client\r\n" client)
(close client))))
Info Catalog
(guile.info.gz) Internet Socket Client
(guile.info.gz) Internet Socket Examples
automatically generated byinfo2html