I note that UDP and RAW socket support is on it's way -- does this include support for specifying other parts of the address request? I need tcp clients and servers to bind to source addresses that aren't the default address on the machine.
I started digging into working on this myself, but it seems a bit more complicated than I was hoping.
Is support for the full set of socket options planned? Soon?
Thanks.
Afficher les réponses par date
On 15-Aug-06, at 3:48 PM, Lang Martin wrote:
I note that UDP and RAW socket support is on it's way -- does this include support for specifying other parts of the address request? I need tcp clients and servers to bind to source addresses that aren't the default address on the machine.
Yes this is implemented in my working version. You have to say for example:
(open-tcp-server (list port-number: 80 server-address: '#u8(127 0 0 1)))
If you use #f for the server address, or you omit it, you get INADDR_ANY (listen on all interfaces).
I started digging into working on this myself, but it seems a bit more complicated than I was hoping.
Is support for the full set of socket options planned? Soon?
Which options are you interested in?
Marc
That's great, and exactly what I was hoping you'd say.
quoth Marc Feeley:
Is support for the full set of socket options planned? Soon?
Which options are you interested in?
I really only need TCP with source addresses right now, but I'll want UDP in the next few weeks, I think.
Makes sense to me to keep the current interface and just add port options for all the things that BSD sockets lets you pass in the address struct and in the calls to connect or listen.
Thanks for the update.
Lang
Why does Gambit only provide limited and extremely specialized wrappers around the BSD sockets interface, for one type and one domain of sockets, instead of exposing BSD sockets in general to Scheme, which people can build higher-level abstractions over easily? Limited networking interfaces encourage or allow only protocol-dependent programs, which is a major factor inhibiting widespread adoption of IPv6 even though it is technically not difficult to support; and such interfaces pose barriers to programmers who need capabilities of BSD sockets like socket options that aren't already specially provided for in specialized abstractions like Gambit's OPEN-TCP-CLIENT.