使用CCL发送UDP的问题

时间:2016-04-24 01:02:19

标签: sockets udp common-lisp ccl

当我尝试发送如下消息时:

(let* ((temp-buffer message)
 (out-vector (make-array (length temp-buffer) 
             :element-type'(unsigned-byte 8)
             :initial-contents temp-buffer))
 (s (ccl:make-socket :remote-host host :remote-port port :type :datagram )))
(ccl:send-to s out-vector (length out-vector))
(ccl::close s))

我收到以下错误:

on #<CCL::UDP-SOCKET #x302000D9FCFD> : 
Socket is already connected (error #56) during sendto

最初,此代码有效。 谁能解释这个错误信息以及如何解决它。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

这似乎有效。

(let* ((temp-buffer message)
       (out-vector (make-array (length temp-buffer)
                               :element-type'(unsigned-byte 8)
                               :initial-contents temp-buffer))
       (s (ccl:make-socket :type :datagram)))
  (ccl:send-to s out-vector (length out-vector) :remote-host host :remote-port port)
  (ccl::close s))