我有一个脚本,它使用quicklisp加载zs3来访问亚马逊的S3。
当我使用clisp运行脚本时,当运行(zs3:bucket-exists-p "Test")时,USOCKET:TIMEOUT-ERROR发生。
但是,当我使用sbcl运行它时,它可以正常运行。
它们访问usocket的方式是否不同?
每种方法的优缺点是什么?
发布于 2013-02-26 03:54:18
usocket是一个兼容层,它隐藏了每个Lisp实现的底层套接字API。在某些情况下,肯定会出现阻抗不匹配,但在大多数情况下,它应该可以正常工作。
我怀疑zs3不经常与CLISP一起使用(或者根本不使用!),您将看到这一结果。另一方面,人们通常可以期待库在SBCL下得到很好的测试,因为这是最流行的实现。
另请注意,线程在CLISP中仍处于实验阶段;默认情况下不会启用它们。事实上,套接字经常与线程混合使用,这只会减少CLISP + usocket的相对使用量。
https://stackoverflow.com/questions/15014094
复制相似问题