- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 CCL 顶层,运行:
(make-socket :LOCAL-PORT 6666 :LOCAL-HOST "127.0.0.1")
或者
(make-socket :LOCAL-PORT 6666 :LOCAL-HOST (lookup-hostname "localhost"))
输出以下内容:
> Error: There is no applicable method for the generic function:
> #<STANDARD-GENERIC-FUNCTION CCL::SOCKADDR #x30200043F91F>
> when called with arguments:
> (NIL)
> While executing: #<CCL::STANDARD-KERNEL-METHOD NO-APPLICABLE-METHOD (T)>, in process listener(1).
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Try calling it again
> Type :? for other options.
我无法理解这个错误(CL 新手)。这是什么意思?我做错了什么?
最佳答案
您的代码中的问题是,提供给 MAKE-SOCKET
的关键参数需要创建一个主动 TCP 套接字,而不是一个被动套接字(监听器套接字),正如您在评论。这是因为,默认情况下,指定套接字是主动还是被动的键 :connect
被分配了值 :active
。
错误消息指出系统遇到了对带有参数 NIL
的 CCL:SOCKADDR
的调用,但不存在任何方法。所以原因是需要套接字地址但没有提供。
通过将 Emacs 与 SLIME 结合使用,您可能会发现:
堆栈上最后一次调用的跟踪:MAKE-SOCKET,调用 MAKE-TCP-SOCKET,调用 %SOCKET-CONNECT(产生错误);
每次调用中变量的值,例如在对 %SOCKET-CONNECT 的调用中,参数 SOCKET-ADDRESS 为 NIL;
所有三个函数的代码,通过检查它,您可能会发现 MAKE-TCP-SOCKET
需要套接字地址,如果没有将其作为值提供给关键参数:remote-address,通过remote-host和remote-port调用解析地址。
关于sockets - Clozure Common Lisp 中的 make-socket 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41071917/
应用交付的所有基本示例都展示了如何用您自己的函数替换顶层函数。一旦该功能完成,应用程序就会退出。我想知道为长时间运行的应用程序创建顶层函数的最佳方法是什么。我的代码是 (ql:quickload :m
我正在用 Common Lisp 编写实用程序并使用 Clozure CL 构建它;我希望能够在程序中使用命令行选项 -d,但由于某些原因 this 特定选项无法通过 (ccl::command-li
我有一个关于 Clozure CL 的问题。当我试图从 quicklisp 快速加载一个包时。它抛出一个错误。用谷歌搜索,但没有找到任何有用的东西。 这是错误信息: (ql:quickload :dr
我想在 ccl 中运行一个 shell 命令,但是这个命令可能因为某些原因被挂起。所以我想杀死这个命令生成的所有子进程。我该怎么做? 我试过 trivial-shell 来运行 shell 命令,当命
1) 在 ccl 中制作图像的正确方法是什么?或者两者之间的确切区别是什么: (compile-file "foo.lisp") 和 (progn (load "foo.lisp") (save-ap
之前熟悉python,现在正在尝试学习common lisp,在windows系统下使用ccl(clozure common lisp)。 我发现没有一种方便的方法可以将 lisp 文件作为 pyth
我有一个非常小的程序,可以打开一个套接字并接受连接。然后,它获取远程IP和端口。 我想向远程计算机(telnet)发送一条短信,并关闭连接。 我无法确定哪个功能用于向telnet客户端发送消息。 Cl
给定一个简单的程序,如下所示,你会如何: 将其编译为要由实现加载的单独图像文件,您将使用哪些命令行参数来加载它? 将其编译为可以按原样加载和运行的独立二进制文件。 注意:我尝试在保存应用程序时添加“:
我保存了这个简单的程序 (defun hello-world () (format t "Hello, world")) (defun main () (hello-world)) 使用 cc
我正在 Mac 上使用 CCL(1.8.1——撰写本文时可用的最新版本),并且想知道是否有任何类型的调试教程可用。 我特别感兴趣的是在代码中的某个位置设置断点,然后戳戳和刺探各种值,然后单步执行下一行
有一个 s-expressions 文件,其中包括外语字符,我正在按如下方式读取它: (defun test (file) (with-open-file (stream file) (l
我被 lisp 弄湿了,遇到了一个(我认为)不寻常的问题。我想创建很长的列表;即,类似于 (setf *mat* (make-list 1000000)),但没有在屏幕上打印一百万次 Nil。 我想到
我想使用一个 step 函数来查看它是如何达到预期输出的,但它不起作用。 像这个简单的例子: (STEP (IF (ODDP 3) 'YES 'NO)) 但什么也没有发生。 有没有什么优化让我看不到跟
我是 Lisp 的初学者,只使用 DrRacket 来涉足 Racket/Scheme。我在弄清楚如何使用 Clozure CL for Windows 运行 .lisp 文件时遇到了很多麻烦。我尝试
我想按照“Common Lisp Recipes”一书的建议,在 case 宏中使用常量变量。 10-2。在 CASE 宏中使用常量变量作为键 不幸的是,它在 Clozure CL 中不起作用。 (d
我的文件夹是这样的 c:/bar/ c:/bar/dir1 c:/bar/dir2 c:/bar/00.txt c:/bar/02.txt 我可以列出文件 (directory "c:/bar/*.*
我尝试在 Mac OS X 10.11.4 上要求使用 Cocoa Framework,但我无法要求它。 日志: $ ccl --version Version 1.11-r16635 (Darwi
在 CCL 顶层,运行: (make-socket :LOCAL-PORT 6666 :LOCAL-HOST "127.0.0.1") 或者 (make-socket :LOCAL-PORT 6666
我通过 subversion 检查了 Clozure Common Lisp 1.10 以用于我的 wiezy raspian raspberry pi。当我尝试运行 armcl 时,出现“找不到 G
我正在 Mac 上学习 Common Lisp (Clozure CL),想创建一个简单的 GUI。我已经从 CLiki 下载了“ltk”库并将其放入根级别的项目目录中(我假设我必须这样做,因为我找不
我是一名优秀的程序员,十分优秀!