首先,啓動兩個 CLISP ,爲了便於區分,服務端我用 EMACS 啓動 CLISP,客戶端直接在終端中啓動 CLISP,服務端須要先執行兩條語句:shell
(defparameter my-socket (socket-server 4321)) (defparameter my-stream (socket-accept my-socket))
第一句建立一個端口爲4321的套接字服務端。socket
第二句定義 my-stream 來收發消息code
截圖以下:server
而後在終端窗口啓動一個 CLISP 做爲客戶端,在客戶端中執行以下命令:class
(defparameter my-stream (socket-connect 4321 "127.0.0.1"))
截圖以下:stream
這條語句用來鏈接到服務端啓動的端口上。終端
這時就能夠進行通訊了,好比在客戶端輸入命令:im
(print "Yo Server!" my-stream) (print "你好,服務端!" my-stream)
而後在服務端輸入命令:通信
(read my-stream) (read my-stream)
就能夠收到來自客戶端的信息,以下圖所示:客戶端
一樣地,在服務端也能夠向客戶端發送信息,使用相似的語句,截圖以下:
本文例程來自《Land of Lisp》