Ticket #1732: keytest.scm

File keytest.scm, 1.0 KB (added by Ariela Wenner, 3 years ago)
Line 
1(import (chicken format)
2        zmq srfi-18)
3
4;; server keypair
5(define-values (spk ssk)
6  (curve-keypair))
7
8;; client keypair
9(define-values (cpk csk)
10  (curve-keypair))
11
12(define (spin-server)
13  (thread-start!
14   (lambda ()
15     (let ((socket (make-socket 'rep)))
16       (socket-option-set! socket 'curve/server 1)
17       (socket-option-set! socket 'curve/secretkey ssk)
18       (printf "Server socket setup!~n")
19       (bind-socket socket "tcp://*:5050")
20       (let ((msg (receive-message* socket)))
21         (printf "Received ~a, responding.~n" msg)
22         (send-message socket "pong!")
23         (close-socket socket))))))
24
25(define (hit-server msg)
26  (let ((socket (make-socket 'req)))
27    (socket-option-set! socket 'curve/serverkey spk)
28    (socket-option-set! socket 'curve/secretkey csk)
29    (socket-option-set! socket 'curve/pubkey cpk)
30    (connect-socket socket "tcp://192.168.0.7:5050")
31    (send-message socket msg)
32    (printf "Sent message, waiting for response...~n")
33    (printf "Got response: ~a~n" (receive-message* socket))
34    (close-socket socket)))