[usocket-devel] Scieneer Common Lisp
Chun Tian (binghe)
binghe.lisp at gmail.com
Sat Oct 18 15:06:52 UTC 2008
Hi Douglas
Yes, the CMUCL port is already done. Though SCL is derived from CMUCL,
the sockets API between them is a little different, some points I can
list below (so far):
1) CMUCL already support basic UDP networking, it has three necessary
UDP-related functions:
EXT:INET-SENDTO, EXT:INET-RECVFROM, EXT:INET-SHUTDOWN, just direct
mapping of UNIX sendto(), recvfrom(), and shutdown()
SCL manual doesn't say about these functions, by actual running SCL, I
think they're not exist (and should be added).
SCL already have EXT:CREATE-INET-SOCKET function, I think it's useless
for TCP users because they usually only care a TCP connection as a
stream. But for UDP networking, it's essential.
I should mention that: even SCL doesn't make any change, support UDP
in SCL should be possible: we can always export these unix function
through FFI (more code but should work), just like what I do for
LispWorks (completely no UDP support in LW, but I wrote one from
scratch).
2) The EXT:CONNECT-TO-INET-SOCKET function would be better if add two
new keywords: LOCAL-HOST and LOCAL-PORT, this is not for UDP but TCP:
sometimes user want to bind to specified local address/port when
connect to remote address/port. Almost all other CL platform's sockets
API support this. See following discuss on usocket mailing list:
http://thread.gmane.org/gmane.lisp.usocket.devel/40
Days later, CMUCL author (Raymond Toy) added all I want in CMUCL
2008-08 snapshot, see this link (cvs diff)
http://common-lisp.net/cgi-bin/viewcvs.cgi/src/code/internet.lisp?root=cmucl&r1=1.54&r2=1.55
I hope SCL could make a similar code change like above (if possible).
Regards,
Chun Tian (binghe)
> Hello Chun,
>
> I would be happy to write the SCL port which would be easy if the
> CMUCL
> port was already done?
>
> Regards
> Douglas Crosher
>
> Chun Tian (binghe) wrote:
>> Hi, Douglas
>>
>> Thanks very much! I'll investigate the SCL sockets API and give a
>> report
>> days later, and tell you what to be added into SCL to support the new
>> USOCKET package with UDP.
>>
>> Regards,
More information about the usocket-devel
mailing list