IAC (native port listening not possible): how about externals/named pipes?

David Bovill david at opn-technologies.com
Fri Apr 23 06:14:12 EDT 2004


Thanks Dar,

another thought

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
>us.
>
>Larry Huisingh

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?

david









More information about the use-livecode mailing list