具体使用 ccl,我试图在同一个程序中设置两个套接字作为 fifo 数据结构。
为此,我一直在站着测试代码来锻炼我对 api 的理解,现在我遇到了一个我无法弄清楚的问题。下面的代码snipped设置了两个socket,一个listen,一个连接listen,并在listen socket上接受连接(accept调用在返回之前等待一个连接进来,这就是我在这种情况下想要的) ,之后我们写入一个套接字并从另一个套接字读取。代码挂起,我不知道为什么(我认为是因为套接字没有连接)。
编码:
(ccl:with-open-socket (lsock :local-port 8008 :connect :passive :address-family :internet)
(ccl:with-open-socket (tsock :address-family :internet :remote-port 8008 :remote-host "127.0.0.1")
(let ((stream (ccl:accept-connection lsock)))
(write "can you see?" :stream tsock)
(read stream))))