gpt4 book ai didi

lisp - sw-http 中关于 APPLICATION-FINDER-FN 的详细信息

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:56 24 4
gpt4 key购买 nike

我想在 Common Lisp 中进行一些同步网络编程,并且我正在收集选项。其中之一是 sw-http ,一个“为 AJAX/Comet 量身定制的 HTTP 服务器”。文档似乎有点缺乏,因为我能找到的唯一一 block 告诉你

Sub-class SERVER and set the APPLICATION-FINDER-FN slot to a callback that generates your content.

似乎没有关于回调应该是什么样子的任何注释或示例(一些刺激告诉我它应该期望一个 server 和一个 connection 作为参数,但没有关于它应该返回或做什么的内容)。

将其设置为一些天真的东西

(lambda (server conn) (declare (ignore server conn)) "Hello world")

似乎没有做任何事情,所以我假设我要么需要写入某处的流,要么需要与 server/connection 进行交互非常明显的方式。

有什么提示吗?

最佳答案

处理程序采用一个连接,它有一个响应,它有一些 block

大概您要将内容添加到连接<的响应 block (即八位字节)/。幸运的是,定义了一些辅助方法可以使这更容易。

你可以试试这个(我无法让 SW-HTTP 编译所以我不能):

(defun hello (server connection)
(let*((response (cn-response connection))
(chunks (rs-chunks response)))
(queue-push chunks
(mk-response-status-code 200)
(queue-push chunks
(mk-response-message-body "Hello cruel world"))))

(defclass my-server (server)
((application-finder-fn :initform #'hello)))

祝你好运!

关于lisp - sw-http 中关于 APPLICATION-FINDER-FN 的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9388893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com