|
|
|
tsiond is a network server that provides each client with its own TinyScheme interpreter with network extensions.
tsiond creates its own I/O event dispatcher and assigns its
handle to Scheme variable G-DISPATCHER
. Clients and scripts
should use this dispatcher instead of creating their own via the
IOX-CREATE
function.
telnet(1) in line-by-line mode is an obvious choice for a
remote client. You need to close telnet to disconnect from
tsiond. TinyScheme function
scheme_load_string()
, used to submit network input to the
Scheme interpreter, always returns OP_QUIT
as the last function
executed, so tsiond can't distinguish between
"(quit)
" and other Scheme code typed in by the user.
See the note about environment variable
TINYSCHEMEINIT
on
tsion's page.
NOTE: tsiond runs on the Nintendo DS, accepts connections
from clients, and reads input commands. Unfortunately, it doesn't generate
any output back to the clients. TinyScheme uses standard I/O to write to
the network and tsiond then does fflush(3)
to flush the output, so it appears that there is something wrong with one
of these calls on the DS when writing to a socket. Bummer!
% tsiond [-debug] [-Debug] [-listen port]
where
-debug
-Debug
- enable debug output (written to stdout). Capital "
-Debug
" generates more voluminous debug.-listen port
- specifies a network server port at which tsiond will listen for and accept client connection requests. A separate Scheme interpreter is created for each new client and the interpreter's I/O is redirected to the client.