diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-05-09 21:10:11 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-05-09 21:10:11 +0200 |
| commit | 409897562cfb59a7181226fb3b60f216f9032e9e (patch) | |
| tree | af2c494e8aba8e3eca7ccb31df2bd0f3cc1cfcab | |
| parent | 092760560b01a4d4a7b7bbf6c603f7ad021731c1 (diff) | |
Add tcp server example
| -rw-r--r-- | server/tcp.lisp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/server/tcp.lisp b/server/tcp.lisp new file mode 100644 index 0000000..f8aeb4d --- /dev/null +++ b/server/tcp.lisp @@ -0,0 +1,38 @@ +(ql:quickload "usocket") +(ql:quickload "babel") + + +(defparameter buf (make-array 10 + :element-type '(unsigned-byte 8) + :adjustable nil + :fill-pointer nil + :displaced-to nil + :initial-element 0)) + ;(defparameter s (usocket:socket-listen "localhost" 8080)) + +;(defparameter su (usocket:socket-connect nil nil :protocol :stream :local-host "localhost" :local-port 8080)) + +;; (defun display-buf (buf) +;; (let* ((message (flexi-streams:octets-to-string buf :external-format :utf-8 :end 10)) +;; (trimmed-message (trim message))) +;; (format t "~a" trimmed-message))) + + + + +(defun create-server (port) + (let* ((socket (usocket:socket-listen "127.0.0.1" port)) + (connection (usocket:socket-accept socket :element-type 'character))) + (unwind-protect + (progn + (let ((data (read-line (usocket:socket-stream connection)))) + (loop while data + do + (format t "~A~%" data) + (setf data (read-line (usocket:socket-stream connection) nil nil))))) +; (format (usocket:socket-stream connection) "Hello World~%") + ; (force-output (usocket:socket-stream connection)))) + (progn + (format t "Closing sockets~%") + (usocket:socket-close connection) + (usocket:socket-close socket))))) |
