Initial commit of newLISP.
[newlisp.git] / examples / server
blobf85e320570181b1bb1dfa47c42a3f98662ed5a76
1 #!/usr/bin/newlisp
3 ;; server for client/server demo
4 ;;
5 ;; USAGE: server
6 ;;
7 ;; Start the client programm in a different
8 ;; terminal window or on a different computer
9 ;; See the 'client' file for more info.
11 ;; v 1.1
14 (define (net-server-accept listenSocket)
15 (while online (begin
16     (set 'connect (net-accept listenSocket)) 
17         (net-send connect "Connected!\n")
18         (while (net-server-receive connect)))))
20 (define (net-server-receive socket , str)
21   (net-receive socket 'str 256)
22   (print "received:" str "\n")
23   (if (= str "quit") 
24    (begin 
25     (net-send socket "bye bye!") 
26     (net-close socket) nil) 
27    (net-send socket (upper-case str))))
29 (define (server)
30   (if (not (set 'socket (net-listen 1111))) 
31    (print "Listen failed:\n" (net-error)) 
32    (begin
33         (set 'online true)
34         (print "\nServer started\n")
35         (net-server-accept socket)
36         )))
38 (server)
40 ; eof ;