Megatest

server-two.scm at [0ccade1059]
Login

File ulex-trials/server-two.scm artifact d6dd6aa922 part of check-in 0ccade1059


(require-extension tcp-server format (chicken tcp) (chicken io) (chicken string) sql-de-lite srfi-18 simple-exceptions)

(let* ((th1 (make-thread (lambda ()

((make-tcp-server
  (tcp-listen 6504)
  (lambda ()
    (let* ((db (open-database "test.db"))
           (rec-data (read-line)))
    (exec (sql db "INSERT INTO entries (received,send) VALUES (?,?);") rec-data (conc "Server Two Response: " rec-data))
    (format (current-error-port) rec-data)
    (write-line (conc "Response to: " rec-data))
    (close-database db)
    )))
#t))
"Ulex command loop"))
(th2 (make-thread (lambda () 
         (print "Jeff is here")  
         (let loop ((entries 500))  
         (thread-sleep! 0.01)
         (print "Preparing to send entries" entries)
         (handle-exceptions exn (begin (print "Had an issue: " (message exn))(thread-sleep! 10)) 
         (define-values (i o) (tcp-connect "localhost" 6505))
         (write-line (conc "entries" entries) o)
         (print (read-line i))
         (close-input-port i)
         (close-output-port o))
         (loop (+ entries 1)))) "jeff")))
(thread-start! th1)
(thread-start! th2)
(thread-join! th2)
)

(print "Done here")