[usocket-devel] socket-listen issue
Mikhail Shevchuk
mikhail.shevchuk at gmail.com
Sat May 5 15:43:08 UTC 2007
Hi
I have a small server that uses usocket as a socket library and sbcl
as a compiler:
(defun server ()
(let ((sock (usocket:socket-listen "88.204.87.138" 3690 :backlog 4)))
(loop
(let ((csock (usocket:socket-accept sock)))
(let ((cstream (usocket:socket-stream csock)))
(when cstream
(loop for line = (read-line cstream nil)
while line do (progn
(format t "XMPP: ~A~%" line)
(cl-irc:privmsg *irc-connection* "#abcd" line))))
(close cstream))))))
After terminating the thread and reevaluating the function, I get the
following error:
Socket error in "bind": EADDRINUSE (Address already in use)
[Condition of type SB-BSD-SOCKETS:ADDRESS-IN-USE-ERROR]
I also tried to use :reuseaddress t, but that doesn't help. What is
the correct way to stop such server and thread?
P.S. One more thing, are there any examples of how can I build
multi-thread server using usocket for serving bunch of clients?
--
Mikhail
More information about the usocket-devel
mailing list