Thank you for your quick reply. So consider a case where client abruptly loses internet connection. In that scenario, the sendText() would return normally as the server hasn't received 'close' packet from the client, did I get it right?
On Thu, May 12, 2016 at 12:43 PM, Mark Thomas <[email protected]> wrote: > On 12/05/2016 06:16, Tejas Nandanikar wrote: >> I am using Apache Tomcat 8.0.33. >> I was going through Java documentation about RemoteEndpoint.Basic >> which says that sendText(String text) blocks until all of the message >> has been transmitted. >> But I noticed that when the client loses internet connection and >> sendText() method is called on the server side, it doesn't thrown an >> IOException immediately and the method returns normally. >> IOException is thrown later and the onError() method is called. Is >> this a normal behaviour? > > Yes. > >> Shouldn't the sendText() method block until >> all the message has been transmitted successfully or throw an >> IOException immediately if there's any problem? > > Only if the server knows there is a problem at that point. Depending on > how the client disconnects, there server might not know and the message > will sit in the network buffer until the network stack figures out that > the client has gone away. > > Mark > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
