CLISP 中幾行代碼就能夠實現的客戶端、服務端套接字通訊

首先,啓動兩個 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》

相關文章
相關標籤/搜索