[usocket-devel] bind interface?

Erik Huelsmann ehuels at gmail.com
Mon Jul 21 20:40:15 UTC 2008


2008/7/21 Chun Tian (binghe) <binghe.lisp at gmail.com>:
> Hi, Chris & Erik
>> I researched networking API of CMUCL, SBCL, Clozure CL, LispWorks, Allegro
> CL (I have only these 5 CLs installed), to bind local address/port:
>
>  * CMUCL, no such support (yet) but I can learn cmucl source code and make
> it worked.
>  * SBCL, supported.
>  * Allegro CL, supported.
>  * LispWorks, supported.
>  * Clozure CL, supported.

Well, if you use the standard (public) functions in the sb-bsd-sockets
package, your solution should work portably from SBCL on ECL, because
that uses the same API. The ABCL solution I can do myself as I have it
installed (and researched it a bit last weekend): the conclusion is
that - at least - it's possible.

CLISP - from the review of the documentation - will not support this feature.

Which leaves LispWorks and Scieneer. Scieneer is very much like CMUCL,
so if the latter needs adapting, so does the former (most likely).
LispWorks supports :local-address and :local-port keys - at least as
of 5.0 which I have installed here.

This means that we can have this feature everywhere but on CLISP...
Which sounds enough to implement it [and contact the CLISP authors to
implement it on CLISP too].

> Above five CLs, I have working patches for "bind-local" support, as in
> attach.
>
> For other CL platforms, I'll try to install them first. But since I never
> used them, maybe I cannot do any help...

That's fine. You already saved me many hours of research, meaning we
now can make sure it gets in.

Thanks a lot for your efforts!

(By the way, I hope you don't mind if I take your patch as a
guideline, not as the final one - especially the SBCL backend is
changed more than I'd like: it could be a 4 line change.)


Once more: thanks a lot!

Bye,

Erik.



More information about the usocket-devel mailing list