[usocket-devel] bind interface?

Chun Tian (binghe) binghe.lisp at gmail.com
Sat Jul 26 04:31:26 UTC 2008


Oh no, this discuss let me start to think another usocket API extension:

How can you get your OS's interface addresses through a programming  
method? If there's more than one of them?

For example, on Linux, if you have lo, eth0 and eth1, i.e. two link  
plus the loopback, how can you get the three addresses (one of them is  
127.0.0.1)? Again, no portable method, no such support in usocket.  
Actually, almost no CL's networking API support this. But, in most C- 
based networking programming, It's the most fundamental step in server  
side programming.

But, I think, to support this (most of time, unuse) feature, it's also  
quite trivial: direct use each CL's existing networking code plus FFI,  
10~20 lines of code per implementation should work.

Oh, seems I'm going too far... Just forget this brain storm if no one  
need it:) In the future, if some guys start to write servers (smtp,  
pop3, or other httpd) in CL, this feature (auto choose interfaces to  
listen) may be needed.

Regards,

Chun Tian (binghe)

在 2008-7-26,上午9:36, Chris Dean 写道:

>
> "Chun Tian (binghe)" <binghe.lisp at gmail.com> writes:
>> Nice. And I said this twice on cmucl-imp...
>
> Thanks for the perseverance.  It is a funny sort of discussion since
> bind(2) is part of the the standard TCP/IP api.  I am having trouble
> thinking of a system that doesn't support bind!  Perl, Python, Ruby,
> Squeak, PLT Scheme, SBCL, etc all have bind.
>
> Cheers,
> Chris Dean




More information about the usocket-devel mailing list