Re: How to Waiting simultaneously for client connections and Central
server outputs
On Apr 16, 2:23 pm, Armando <ahd.ar...@gmail.com> wrote:
... I used it by create one thread for each connection from
client. as you see in while loop when SS accept connection from
client, pass its allocated socket to ClientHandler that Extends [sic] Thr=
ead
and then start it. My problem is not here. I said that during waiting
for connections from clients, SS must also wait for data that comes
from Central Server NOT Client. Notice that SS is Server for clients
and Client for Central Server. these two jobs must be done together
without blocking another. I know that it needs synchronization but I
want some simple code specially for my problem in networking to solve
it.
What needs to be synchronized?
Waiting on a socket doesn't. You handle requests serially. By
passing off the connection to a service thread, the listening thread
can get right back to listening for the next request.
It doesn't, or shouldn't, matter to the listening thread whether the
request comes from a client or a "SS" server.
What needs synchronization is access (both read and write) to data or
other resources shared by the service threads.
Whether your "SS" servers need multiple threads in turn depends on the
service model. If they act as strict relay stations - wait for and
receive client request, send to server, wait for and receive server
reply, reply to client - with no interleaving of requests and replies,
then you can it all in one "SS" server thread.
--
Lew