DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(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