Plaster

common-lisp
cl-user> (let* ((port 9004) (server (usocket:socket-listen "localhost" port :element-type '(unsigned-byte 8))) (connect (usocket:socket-connect "localhost" port :element-type '(unsigned-byte 8))) (accept (usocket:socket-accept server :element-type '(unsigned-byte 8))) (output (make-array 5 :element-type '(unsigned-byte 8)))) (unwind-protect (progn (write-sequence (map '(vector (unsigned-byte 8)) 'char-code "asdf") (usocket:socket-stream connect)) (force-output (usocket:socket-stream connect)) (when (listen (usocket:socket-stream accept)) (read-sequence output (usocket:socket-stream accept))) output) (usocket:socket-close accept) (usocket:socket-close connect) (usocket:socket-close server)))