IAC (native port listening not possible): how about externals/named pipes?
david at opn-technologies.com
Fri Apr 23 05:14:12 CDT 2004
Dar Scott wrote:
> I can't think of a way except for controlling the firewall.
Would be OK for a home/office set up - but not an enterprise level
server set up? Don't suppose it's the sort of thing I could get an ISP
to do - and though we are now moving to a dedicated server - firewall is
not really an option?
> Some time ago I suggested an enhancement that would allow an 'accept'
> to specify one of the computer's IP addresses to listen on. I see no
> indication that such an enhancement is coming (I don't even remember
> if I moved it to bugzilla, when bugzilla came), but it might be that
> such a feature would allow what you want, if it would allow listening
> on 127.0.0.1.
It is a required feature for fast CGI work on a publicly accessible
server - modRevolution for Apache would be nice :)
OK - can we take another tack? What we are looking for here is very fast
and secure communication between a web server process and a Revolution
daemon. In our case this is between python / zope and rev, Pierre has
the set up running with php - but using the accept command which seems
to be open to dos attacks unless you site your server behind your own
firewall.... the other way I can think of doing this is by using named
pipes - which AFAIK are very fast way to achieve IAC on Linux.. From an
earlier post Larry Huisingh indicates that he used this method on
Windows (non 9x).
>We communicate using named
>pipes between programs we wrote in house. We have a couple of C/C++
>programs that communicate with our MC app using standard Windows API named
>pipe functions. You read/write to named pipes the way you read/write to
>files. FWIW Visual Basic also supports named pipes (we use that language in
>our system also).
>Named pipes is not a tool to use to communicate with canned applications
>(e.g. Word, Excel, etc.). I might be able to answer specific questions you
>might have. One specific caveat - As far as Windows versions go you can
>only create a named pipe on Windows NT/2000/XP. Windows 9x won't do that.
>We are using Windows 2000 Server and Professional.
>This may not be the solution you all were looking for but it works well for
There is a Linux based project that I have been following which uses
named pipes for IAC between C, Java, Python, Tcl and some other
languages I believe... thinking of porting the API to an external and
then writing the equivalent of a server for named pipes so that
messages could be passed from these languages to a specific Revolution
stack / control.
If I am right this would potentially be faster than listening on ports
and is not vulnerable to remote attack. It would work on all them Linux
servers out there and by the sounds of it could also be ported to work
on Windows based servers. This would seem to offer a strong platform for
fast component based CGI / server logic based apps. components could be
programmed in any of the above languages. (NB I am not talking high
level / slow / high overhead protocols like SOAP).
Does this make as much sense to anyone as it does to me :)
I am not a C programmer, but have started to work on this with a couple
of guys. If anyone wants to help with this (all the code will be
released under an open source license), or just let us know that we are
barking up the wrong tree - drop us a line?
More information about the use-livecode