jsonrpc
jsonrpc copied to clipboard
jsonrpc:call returns NIL sometimes with SBCL
Sometime, call function does not return value.
(ql:quickload :jsonrpc)
;; server
(defvar *server* (jsonrpc:make-server))
(sb-thread:make-thread
(lambda ()
(jsonrpc:expose *server* "sum" (lambda (args) (reduce #'+ args)))
(jsonrpc:server-listen *server* :port 50879 :mode :websocket)))
;; client
(defvar *client* (jsonrpc:make-client))
(jsonrpc:client-connect *client* :url "ws://127.0.0.1:50879" :mode :websocket)
(dotimes (n 10000)
(unless (= 30 (jsonrpc:call *client* "sum" '(10 20)))
(error "not 30")))