(load "~/quicklisp/setup.lisp") (ql:quickload '(:usocket :bordeaux-threads :cl-bcrypt :datafly :sxql :alexandria)) (defpackage :mmo-server (:use :common-lisp :usocket :bordeaux-threads :cl-bcrypt :datafly :sxql :alexandria)) (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)