CLisp 5:用Socket包建立TCP/IP连接

建立TCP/IP连接的基本函数在SOCKET包中,调用函数时要在函数名前面加 socket : (冒号) 前缀

服务器端可使用的函数
(socket:socket-server 80) 建立监听程序,可以指定端口
(socket:socket-server-close ss) 关闭监听程序
(socket:socket-server-host ss) 返回Host属性
(socket:socket-server-port ss) 返回Port属性
(socket:socket-wait ss ...)    等待客户端建立连接
(socket:socket-accept ss ...)  等待客户端建立连接
(socket:socket-status ...)     返回连接状态

客户端可使用的函数
(socket:socket-connect port host ...)  请求建立连接
(socket:socket-status ...)     返回连接状态

可以用read、write、format操作建立起来的连接,就像读写普通文件一样

可以打开同时两个CList命令行程序,一个作为客户端,另一个作为服务端
在服务端执行
  (setq ss (socket:socket-server 80))
  (setq sc (socket:socket-accept ss))
在客户端执行
  (setq cc (socket:socket-connect 80 "127.0.0.1"))
可以看到建立了连接
在客户端执行(write-line "test data" cc),在服务端执行(read-line sc),可以看到服

务端收到了字符串“test data”。这是一个双向连接,两端都可以做读写操作。

其中accept和connect函数可以通过设置:element-type '(unsigned-byte 8)变成二进制流

,和操作普通文件是一样的。

 

最后是关闭连接,像关闭文件一样用close函数

(close sc)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值