Looking at manual:
newLISP as a TCP/IP server
newlisp -p 9090 some.lsp
when some.lsp is the one liner: (exit)
newlisp doesn't exit immediately but does once a connection is made with telnet. If the (exit) is in init.lsp then exiting is immediate. Is waiting until a connection before doing some.lsp the expected behaviour (this came up when I was wondering how to word the man page). If this is expected behaviour then change:
some.lsp is an optional file to be loaded during startup.
to:
some.lsp is an optional file to be loaded when connection is established.
-p some.lsp
-
- Posts: 429
- Joined: Tue Nov 11, 2003 2:11 am
- Location: Brisbane, Australia
-
- Posts: 429
- Joined: Tue Nov 11, 2003 2:11 am
- Location: Brisbane, Australia
Having played with it I see the value of doing some.lsp only after a connection is providing I/O
eg some.lsp may be
(println "I won't talk")
(exit)
and also note that multiple files are accepted eg
newlisp -p 5700 init.lsp init2.lsp
uses both files (on cygwin anyway).
so I suggest the manual read something like:
newLISP as a TCP/IP server
newlisp -p 9090 some.lsp
The example shows how newLISP can listen for commands on a TCP/IP socket connection. In this case standard I/O is redirected to the port specified in the -p option. some.lsp is an optional file to be loaded once a connection is established. Multiple files can be specified and will be executed sequentially.
and I'll modify the man page if that's OK.
eg some.lsp may be
(println "I won't talk")
(exit)
and also note that multiple files are accepted eg
newlisp -p 5700 init.lsp init2.lsp
uses both files (on cygwin anyway).
so I suggest the manual read something like:
newLISP as a TCP/IP server
newlisp -p 9090 some.lsp
The example shows how newLISP can listen for commands on a TCP/IP socket connection. In this case standard I/O is redirected to the port specified in the -p option. some.lsp is an optional file to be loaded once a connection is established. Multiple files can be specified and will be executed sequentially.
and I'll modify the man page if that's OK.
actually in the example:
;-- some.lsp ---
(println "I won't talk")
(exit)
;-----------------
and doing:
newlisp -p 1234 some.lsp
you won't see anything becuase std I/O is redirected to port 1234, but the listening newLISP is going into listening mode after connecting and sending the sig-non banner. After connecting it will do some.lsp, but then exit. So the client never has any chance to do something.
It really doesn't make much sense to specify a file 'after' the -p/-d option. Optional files should be specified before the -p -d and I will change this in the manual.
Lutz
;-- some.lsp ---
(println "I won't talk")
(exit)
;-----------------
and doing:
newlisp -p 1234 some.lsp
you won't see anything becuase std I/O is redirected to port 1234, but the listening newLISP is going into listening mode after connecting and sending the sig-non banner. After connecting it will do some.lsp, but then exit. So the client never has any chance to do something.
It really doesn't make much sense to specify a file 'after' the -p/-d option. Optional files should be specified before the -p -d and I will change this in the manual.
Lutz
-
- Posts: 429
- Joined: Tue Nov 11, 2003 2:11 am
- Location: Brisbane, Australia
You do get the "I won't talk message" on your telnet connection viz
[nigel@p1300 nigel]$ telnet localhost 1234
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
newLISP v8.0.0 Copyright (c) 2004 Lutz Mueller. All rights reserved.
I won't talk
Connection closed by foreign host.
[nigel@p1300 nigel]$
This is on Mandrake 10.0 with the above some.lsp and the newlisp -p 1234 some.lsp command.
You could think of a use eg if time connection is made is within a set exclusion period then just exit else accept connection.
[nigel@p1300 nigel]$ telnet localhost 1234
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
newLISP v8.0.0 Copyright (c) 2004 Lutz Mueller. All rights reserved.
I won't talk
Connection closed by foreign host.
[nigel@p1300 nigel]$
This is on Mandrake 10.0 with the above some.lsp and the newlisp -p 1234 some.lsp command.
You could think of a use eg if time connection is made is within a set exclusion period then just exit else accept connection.