Hello all.

        I have an application that opens a socket to a server.  Both client and 
server are Java, 1.3.1, and the distro's are SuSE 7.1 In running tests 
of this application, a situation has occured that I'm not sure how to 
solve. The client conencts to the sever and downloads potentially large 
amounts of data.  We wanted to insure that if the network goes down 
while the data was being transfered, that when the app was restarted 
with the network up, it would retry.  The client is expected to fail 
(and shutdown) after 10 seconds (via a timeout of 10 seconds on the 
socket).

        The server is using standard server sockets.  It is also using a thread 
pool to service client requests.  When the ServerSocket accept returns, 
the new connection is hadded off to a child thread to service.

        What is happening is this:  whent he client has connected and started the 
download, we pull the plug.  The client time's out and shuts down as it 
is supposed to.  The problem is on the server.  If another client 
connects within a couple of minutes of the first client plug being 
pulled, it gets a timeout exception tryng to connect to the server. 
Eventually the server unblocks and is able to acept new connections.

        So it seems that what is happening is the server is blocking when a 
socket fails, but it is blocking all threads and incomming connections. 
  It was my understanding that only the thread that was servicing the 
downed connection should block.

        Can anyone offer any insight or advice?  Thanks.


----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to