httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christina Dostie" <regina.christ...@gmail.com>
Subject Putting a web front end on an embedded device
Date Mon, 07 May 2007 13:14:47 GMT
Hi All:

Sorry in advance if this has been asked before, I've only been looking at
modules for a couple
of weeks, but I checked everywhere I could think of and I'm still looking
for some answers.

I have a relatively high powered device on a network with a TCP debug/status
port. Users can telnet to
this port, enter their credentials, and tell the device to start spewing
data at them. This particular device
outputs XML. Multiple users can connect to the device simultaneously and
each user has a different
profile (list of events they subscribe to). Naturally, I'd like to put an
apache web server on the network
so I can support a web front end. So far, this is what I'm thinking:

- User enters credentials, the module opens a socket to the device, passes
along credentials, and
  holds the request_rec connection to the browser open ("comet" style
streaming).
- Device passes back some administrative preamble and starts to stream data
to the module
- the module passes the chunks of xml to a filter which applies an XSLT
transform to
  JS <script> chunks and the browser updates

If this is a plausible direction to go in, then my issue comes about when a
user wants to change
their profile. On the browser, I open a 'back door' XmlHttpRequest and send
it, along with the
session ID of the user. The module must then find the session's connection
to the device, signal
the module somehow, and tell it to pass the client request along to the
device.

How would you guys go about coordinating the IPC here? A socket to the
device and a listening
socket to listen for subscription changes on a select? Seems like a lot of
overhead per user, plus
I'd have to coordinate the listening sockets to be on unique ports for each
client, which would require
perhaps shared memory or the server pool. Perhaps shared memory and signals?
This is very MPM
specific, though. It would also be nice to move from a prefork MPM to the
event MPM to support
more simultaneous users in the future without a total overhaul.

Any input is appreciated. Thanks!

-Chris

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message