如何使用cl async在Lisp中检索套接字对等方的地址

如何使用cl async在Lisp中检索套接字对等方的地址,lisp,common-lisp,ip-address,sbcl,Lisp,Common Lisp,Ip Address,Sbcl,我正在使用SBCL进行cl async的实验,我不知道如何检索 我正在进行通信的套接字的IP地址 我在GNULinux和Telent1.9.4上使用SBCL1.4.16 套接字对象中的ADDRESS插槽似乎未绑定,我无法尝试从较低级别的libuv绑定中提取 我使用的是文档中的默认示例,其中添加了 下面是评论 从 (取消我的回显服务器() (格式t“启动服务器~%”) (as:tcp服务器nil 9003;nil是“0.0.0.0” (lambda(套接字数据) (描述插座) ;将数据回显到套接字

我正在使用SBCL进行cl async的实验,我不知道如何检索 我正在进行通信的套接字的IP地址

我在GNULinux和Telent1.9.4上使用SBCL1.4.16

套接字对象中的
ADDRESS
插槽似乎未绑定,我无法尝试从较低级别的libuv绑定中提取

我使用的是文档中的默认示例,其中添加了 下面是评论 从

(取消我的回显服务器()
(格式t“启动服务器~%”)
(as:tcp服务器nil 9003;nil是“0.0.0.0”
(lambda(套接字数据)
(描述插座)
;将数据回显到套接字中
(as:写入套接字数据套接字数据))
(lambda(err)(格式t“侦听器事件:~a~%”err)
接住信号
(as:信号处理程序2(lambda(sig)(声明(忽略sig))(as:退出事件循环)))
(as:启动事件循环#'my-echo-server)
我与netcat或telnet连接并发送内容后,输出为:

#<CL-ASYNC:TCP-SOCKET {1004DC0BF3}>
  [standard-object]

Slots with :INSTANCE allocation:
  C                              = #.(SB-SYS:INT-SAP #X7F3EEC021490)
  DATA                           = NIL
  CLOSED                         = NIL
  DRAIN-READ-BUFFER              = T
  ADDRESS                        = #<unbound slot>
  BUFFER                         = #S(FAST-IO:OUTPUT-BUFFER..
  BUFFERINGP                     = NIL
  CONNECTED                      = T
  DIRECTION                      = :IN
#
[标准对象]
插槽:实例分配:
C=#(SB-SYS:INT-SAP#X7F3EEC021490)
数据=零
关闭=零
漏读缓冲区=T
地址=#
缓冲区=#S(FAST-IO:OUTPUT-BUFFER。。
BUFFERINGP=NIL
已连接=T
方向=:英寸
地址槽出人意料地没有绑定


有人遇到过这个问题吗?

我发现该项目的回购协议中存在同样的问题,因此我结束了这个问题,因为似乎没有干净的解决方案。对于我的项目,我将遵循作者的建议,在服务前放置一个代理。

我相信您可以为cl async做出贡献!