CLISP 中几行代码就可以实现的客户端、服务端套接字通信

首先,启动两个 CLISP ,为了便于区分,服务端我用 EMACS 启动 CLISP,客户端直接在终端中启动 CLISP,服务端需要先执行两条语句:

(defparameter my-socket (socket-server 4321)) 

(defparameter my-stream (socket-accept my-socket))  

第一句创建一个端口为4321的套接字服务端。

第二句定义 my-stream 来收发消息

截图如下:

CLISP 中几行代码就可以实现的客户端、服务端套接字通信_第1张图片

然后在终端窗口启动一个 CLISP 作为客户端,在客户端中执行如下命令:

(defparameter my-stream (socket-connect 4321 "127.0.0.1")) 

截图如下:

CLISP 中几行代码就可以实现的客户端、服务端套接字通信_第2张图片

这条语句用来连接到服务端启动的端口上。

这时就可以进行通信了,比如在客户端输入命令:

(print "Yo Server!" my-stream) 

(print "你好,服务端!" my-stream)

然后在服务端输入命令:

(read my-stream)
(read my-stream)

就可以收到来自客户端的信息,如下图所示:

CLISP 中几行代码就可以实现的客户端、服务端套接字通信_第3张图片

同样地,在服务端也可以向客户端发送信息,使用类似的语句,截图如下:

CLISP 中几行代码就可以实现的客户端、服务端套接字通信_第4张图片

本文例程来自《Land of Lisp》

你可能感兴趣的:(CLISP 中几行代码就可以实现的客户端、服务端套接字通信)