[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