Lisp: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Diablo (discussione | contributi)
Riga 322:
 
Un ottimo test per vedere la semplicità della chiamate al Layer TCP/IP e per provare la stabilità di questo codice che trasmette indisturbato all'infinito.
 
 
Codice lato client
 
(defun open-socket (host port)
(socket-connect port host))
(defun client (server port a-string)
;; Open connection
(let ((socket (open-socket server port)))
(unwind-protect
(progn
(format socket "~A~%" a-string)
(force-output socket)
(let ((response (read-line socket)))
(format t "Response from server: ~A~%" response))))
;; Close socket before exiting.
(close socket)))
(defun test ()
(client "clavius.ess.prv" 25 "helo"))
 
Codice lato server
 
(defun server()
(let ((a-server-socket (socket-server 8000)))
(dotimes (i 2)
(let ((connection (socket-accept a-server-socket)))
(let ((line (read-line connection)))
(format t "Line from client: ~A~%" line )
;;;
;;; send
(format connection "response from serveri~%"))
(close connection )))
(socket-server-close a-server-socket)))
 
== Il Mercato del lisp ==