[plug] Program modularity/(Server Client?) - IHCC

Tim White weirdo at tigris.org
Tue Aug 31 09:25:04 WST 2004


I have been reading 'The Art of Unix Programming' [Eric S. Raymond] and 
while reading it I learnt lots. Due to my reading I rewrote much of 
IHCC[1] before releasing the first public version. This lead to a much 
more modulised code base and easied later changes to file formats and 
handling of some features.
I initially wrote IHCC in PHP so that it would run on most OS's and so 
that you didn't need any special permissions on the server other than 
PHP. I have been thinking of adding other frontends and have come to the 
realisation that I probably need a real backend and was looking for 
opinoins on different methods. I want the application to be reachable by 
web browsers, command line programs, x programs, telnet, etc ... so that 
it can be accessed through as many methods as possible. The /MAIN/ 
reason for this is the realisation that not everybody wants a html frontend.
I also don't want it to require to much on the server. Mainly a shell 
account and webspace if the webfronted is to be used.

* Perl/C/C++/... server, client connects to port *X* and sends commands 
and recieves replies similar to POP or IMAP?
* Perl/C/C++/... backend program that clients call directly and process 
the output (can be part of a pipe) - Would also have a 'server' client 
so that servers and clients can be on seperate machines
* C/C++ libary[2] loaded into each client (Can this be done in PHP?)

For all but the first method I would write a 'generic' gateway so that 
almost any application could communicate with the server. It would be in 
the form of ether:
 * A server listening on a port (like the first option)
 * A php/cgi script on a web server getting commands from GET, or POST 
data and recieving txt replies (XML or Token seperated values)

One of the MAIN features of IHCC is that it requires no database due to 
it using its own flat file and doesn't need CGI access.

Please comment on all features as well as their crossplatformness. I 
would prefer if the backend could run on any OS and the front end on the 
majority.
Thanks
Tim
[1] A IRC like web based chat room. http://sf.net/projects/ihcc and to 
see the demo ihcc.sf.net/demo
[2] Like a DLL under windows that you can call the function for




More information about the plug mailing list