Le message d'erreur ici n'est pas utile. Je crois que le vrai problème ici est que CL + SSL attend un flux d'octets, alors que le flux d'entrée standard de base dans Common Lisp est un flux de caractères. Essayez d'utiliser un flux d'octets à la place. Cela devrait fonctionner dans SBCL sous Linux:
(let ((stdin (sb-sys:make-fd-stream 0
:input t :buffering :full
:element-type '(unsigned-byte 8)))
(cl+ssl:make-ssl-client-stream (cl+ssl:stream-fd stdin)))
Cela repose sur le fait que Unix a l'entrée standard disponible en tant que descripteur de fichier 0. Je ne sais pas comment effectuer une telle astuce sur Windows.
Pour une application réelle, vous ne voulez probablement pas vraiment à travailler depuis l'entrée standard, quelque chose comme cela fonctionnerait, en utilisant la bibliothèque usocket:
(let ((sock (usocket:socket-connect host port :element-type '(unsigned-byte 8))))
(cl+ssl:make-ssl-client-stream (usocket:socket-stream sock)))
Où avez-vous libssl32.dll et libeay32. dll fichiers de? Je ne pouvais pas trouver de combinaison de travail non plus. – Marko