aboutsummaryrefslogtreecommitdiff
path: root/server/tcp.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'server/tcp.lisp')
-rw-r--r--server/tcp.lisp38
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)))))