Hi Everyone,
I am facing this really funny problem.
In my servlet I am generating an image dynamically using the Image tag which directly calls the servlet.
The servlet is also opening a database connection using JDBC thin drivers.
I am Java web Server 2.0 for Windows NT.
Now all this is working fine, however when I call the servlet simultaneously from 2 or more browsers it gives this error--
java.net.SocketException: socket write error (code=10053)
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java:87)
at com.sun.server.servlet.http.HttpOutputStream.writeOut(HttpOutputStream.java:585)
at com.sun.server.servlet.http.HttpOutputStream.flushBytes(HttpOutputStream.java:429)
at com.sun.server.servlet.http.HttpOutputStream.write(HttpOutputStream.java:400)
at Acme.JPM.Encoders.GifEncoder.flush_char(GifEncoder.java:668)
at Acme.JPM.Encoders.GifEncoder.char_out(GifEncoder.java:659)
at Acme.JPM.Encoders.GifEncoder.output(GifEncoder.java:582)
at Acme.JPM.Encoders.GifEncoder.compress(GifEncoder.java:531)
at Acme.JPM.Encoders.GifEncoder.GIFEncode(GifEncoder.java:310)
at Acme.JPM.Encoders.GifEncoder.encodeDone(GifEncoder.java:179)
at Acme.JPM.Encoders.ImageEncoder.imageComplete(ImageEncoder.java:261)
at sun.awt.image.OffScreenImageSource.produce(OffScreenImageSource.java:170)
at sun.awt.image.OffScreenImageSource.addConsumer(OffScreenImageSource.java:44)
at sun.awt.image.OffScreenImageSource.startProduction(OffScreenImageSource.java:58)
at Acme.JPM.Encoders.ImageEncoder.encode(ImageEncoder.java:111)
at chart3.doGet(chart3.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:715)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
at com.sun.server.ServletState.callService(ServletState.java:226)
at com.sun.server.ServletManager.callServletService(ServletManager.java:936)
at com.sun.server.http.servlet.InvokerServlet.service(InvokerServlet.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
at com.sun.server.ServletState.callService(ServletState.java:226)
at com.sun.server.ServletManager.callServletService(ServletManager.java:936)
at com.sun.server.ProcessingState.invokeTargetServlet(ProcessingState.java:423)
at com.sun.server.http.HttpProcessingState.execute(HttpProcessingState.java:79)
at com.sun.server.http.stages.Runner.process(Runner.java:79)
at com.sun.server.ProcessingSupport.process(ProcessingSupport.java:294)
at com.sun.server.Service.process(Service.java:204)
at com.sun.server.http.HttpServiceHandler.handleRequest(HttpServiceHandler.java:374)
at com.sun.server.http.HttpServiceHandler.handleRequest(HttpServiceHandler.java:166)
at com.sun.server.HandlerThread.run(HandlerThread.java:162)
For a single call from the browser the servlet is running perfectly fine. I am not opening any socket connection from my code..
Also one more thing that is really confusing me is that when I use Netscape and in the preferences option when I use direct proxy then this exception is not thrown even for upto 8-10 simultaneous calls , but if I use my proxy then for 2 or more simultaneous calls also the exception is thrown up..
Any Help will be Most Appreciated..
Thanks and Best Regards,
Mohit.
PS: Wishing every one a very Happy New Year..
