It is written in C++ (with svn thrift). In fact it is the skeleton server generate by thrift with TSimpleServer replaced with TThreadPoolServer. I also changed the client code (in python) to simulate the behaviour of my client programs: invoking the ping(client_id) method() and sleeping 1 second in a loop. I'm getting pings from the first four servers in a loop which coincide with the number of threads in the pool.
2009/6/6 David Reiss <[email protected]> > What language is your server written in? > > Kyku wrote: > > Hello, I'm trying to write a simple server with Thrift. At the beginning > it > > looked promising, but I've stumbled into a problem with a number of > clients > > connected at the same time. I'm using TThreadPoolServer, which allows 4 > > client to connect and then blocks other clients until I kill one from the > > connected. What can I do to allow more (possibly several hundreds) > clients > > to be connected at the same time, without increasing the number of > threads. > > I assumed that the worker threads allow to perform one client request at > a > > time, but it looks like one thread handles one connection until it is > > closed. I'd like to avoid a situation when my clients has to reopen a > socket > > to perform an action. >
