Ideas to simulate a multithreaded sockets server
andre at andregarzia.com
Fri Feb 26 12:15:39 CST 2010
I think you're now officially the second Brazilian using Revolution. Right
now Rev is single threaded and that is all. What you could build is a pool
of Rev processes coordinated by a master process. So you could have a Linux
standalone launch multiple socket servers and then play the role of proxy
relaying the connection to them. This would involve changing your protocol
since we can't really delegate a connection to another process, you'd need
to reply to the client with something like: "hey connect again on port
something" and it would reconnect using one of the socket servers.
I don't know your application logic, but if your socket server acts fast
enough then some queueing is not that bad.
In the meanwhile, if you're doing your logic on top of HTTP, why not use a
simple portable server and Rev based CGI, this would solve the problem (and
propose new ones as you'd need to handle the statelessness)
PS: Você é de sampa né?
On Fri, Feb 26, 2010 at 2:44 PM, Marcio Alexandroni <marcio at cialogica.com.br
> I'm currently building a new version of a product that has 3 modules:
> * A sockets server that operates the application logic.
> * The administration module which communicates with the server using
> to set properties.
> * The PDA module that is actually what users interact and that also
> communicates with the server using sockets.
> Today I have the server and administration modules written in Delphi and
> Palm/WinMo solutions on the PDAs.
> It would be very, very interesting if I could have a server that I could
> deploy on Windows, Linux or Mac machines, so I built a "test" version in
> Rev, but I found it does not handle multiple requests, but queues and
> process one at a time, which is not suitable for this solution.
> I've been thinking if there is any way to overcome this situation, perhaps
> launching a separate process for each connection, passing the client
> to this new process, this way I could return immediately from the handler,
> letting it process the queue, while the process actually handles the
> and feedback to the client.
> Does anyone have any idea if starting multiple Rev subprocesses is possible
> or perhaps any other idea on how to do this concurrent handling in Rev?
> Thanks in advance.
> Marcio Alexandroni
> ( (+55 11) 9989-8316
> Skype: marcioalexandroni
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
http://www.andregarzia.com All We Do Is Code.
More information about the use-livecode