- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试连接到泥客户端,所以我使用 usockets 通过 tcp 进行连接。但是在我写完之后,我得到了一个解码错误读数。我有理由相信编码应该是 ascii,或者至少使用 :clrf 作为行尾指示符,因为在我读到的行中,行尾之前有一个 ^M
(let* ((sock (socket-connect "angalon.net" 3011))
(stream (slot-value sock 'stream)))
(format stream "guest~%")
(force-output stream)
(dotimes (i 40)
(read-line stream))
stream)
:UTF-8 stream decoding error on
#<SB-SYS:FD-STREAM
for "socket 192.168.1.39:65516, peer: 93.174.104.58:3011"
{1004129903}>:
the octet sequence #(255 251 1 80) cannot be decoded.
[Condition of type SB-INT:STREAM-DECODING-ERROR]
(let* ((sock (socket-connect "angalon.net" 3011))
(stream (slot-value sock 'stream)))
(stream-external-format stream))
;; => :UTF-8
最佳答案
只需查看 Clozure CL 后端的源代码,外部格式就被硬编码为 ccl:*default-external-format*
。在我的系统中是 UTF-8。 SBCL 后端没有指定外部格式,但它可能使用 SBCL 默认值创建套接字,这也是 UTF-8。我认为除了修改 usocket 之外,没有一种可移植的方式来更改外部格式。
也就是说,您可以绑定(bind) sb-impl::*default-external-format*
说:latin-1
在调用 socket-connect
之前:
(let* ((sb-impl::*default-external-format* :latin-1)
(sock (socket-connect "angalon.net" 3011))
(stream (slot-value sock 'stream)))
(stream-external-format stream))
;; :LATIN-1
FLEXI-STREAM
并指定外部格式。
关于sockets - usockets : How do I specify the external format when I open a socket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20435942/
我正在学习 common-lisp,我正在尝试使用 usocket library 使用客户端和服务器 tcp 套接字连接编写一个愚蠢的聊天程序.下面是我的函数。 (defun receive-thr
我有一个使用 quicklisp 加载 zs3 以访问 Amazon 的 S3 的脚本。 当我使用 clisp 运行脚本时,当 (zs3:bucket-exists-p "Test") 运行时,USO
据我了解,IOLib和 usocket具有几乎相同的抽象级别。 IOLib 使用操作系统后端套接字,另一方面 usocket 使用 Lisp 运行时后端套接字。 我只是想知道对于特定用例哪个是更好的选
我正在尝试使用 lisp 中的套接字来创建连接。使用 sbcl,我发现“usocket”可用。但是我未能在服务器和客户端之间发送字符串。这是代码: 服务器: (ql:quickload "usocke
我正在尝试通过 USOCKET 发送数据.当数据到达服务器时,服务器应该回复。但是,stream-read(定义如下)仅在数据与它发送的原始数据回显时才返回数据。例如,如果我发送 hello 并且服务
我正在尝试连接到泥客户端,所以我使用 usockets 通过 tcp 进行连接。但是在我写完之后,我得到了一个解码错误读数。我有理由相信编码应该是 ascii,或者至少使用 :clrf 作为行尾指示符
我是 Common Lisp 的新手,我正在尝试学习如何使用网络套接字进行编程。在普通的 lisp 中 usocket api它指定函数 socket-send 和 socket-receive 采用
我正在尝试升级协议(protocol),从 HTTP 1.1 切换到 WebSockets。我试过使用 usocket .到目前为止我的代码如下(并且可以作为 GitHub gist 获得)。握手读取
目前我有一个无法解释的行为,感谢任何线索。 背景 我有一个通过 PHP 内置开发网络服务器本地运行的 WordPress 实例 php -S localhost:8000 -t/doc/root/wo
我正在使用以下代码获取 url http://brandonhsiao.com/essays.html: (defparameter *new-line* '(#\Return #\Newline))
我是一名优秀的程序员,十分优秀!