mmo-project/lisp/server/server.lisp

28 lines
935 B
Common Lisp
Raw Normal View History

2023-12-16 15:06:29 -05:00
(load "~/quicklisp/setup.lisp")
2023-12-31 16:00:52 -05:00
(ql:quickload '(:usocket :bordeaux-threads :cl-bcrypt :datafly :sxql :alexandria :com.inuoe.jzon))
2023-12-16 15:06:29 -05:00
(defpackage :mmo-server
2023-12-31 16:00:52 -05:00
(:use :common-lisp :usocket :bordeaux-threads :cl-bcrypt :datafly :sxql :alexandria :com.inuoe.jzon))
2023-12-16 15:06:29 -05:00
(in-package :mmo-server)
(defvar *logged-in-users-hash* (make-hash-table))
(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
(loop do
(setq message (read-line (usocket:socket-stream connection)))
(format (usocket:socket-stream connection)
"Hello ~a~%" message)
(force-output (usocket:socket-stream connection))))
(progn
(format t "Closing sockets~%")
(usocket:socket-close connection)
(usocket:socket-close socket)))))
(create-server 5001)