I have TCP/IP based service which is continously 24*7 running on a port. It communicates using XML. when response is < 1023 characters...the client recieves data properly.... but when response is > 1023 characters the client recieves half the response (i.e exactly 1023 chars) and remaining chars are lost...and at the service end it throws exception: Software caused connection abort: socket write error
Complete stack trace: java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:395) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136) at java.io.OutputStreamWriter.write(OutputStreamWriter.java:191) at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111) at java.io.BufferedWriter.write(BufferedWriter.java:212) at java.io.Writer.write(Writer.java:126) at com.icici.cardvalidator.queryserver.TCPXMLThread.run(TCPXMLThread.jav a:328) java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:395) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136) at java.io.OutputStreamWriter.write(OutputStreamWriter.java:191) at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111) at java.io.BufferedWriter.write(BufferedWriter.java:212) at java.io.Writer.write(Writer.java:126) at com.icici.cardvalidator.queryserver.TCPXMLThread.run(TCPXMLThread.jav a:328)
still m able to get only half the packet......thats....8192 chars... but in response there are 62000 chars..... i set byte array.. byte b = new byte[64000]... but only getting...8000 chars or so... need help.....to read full response...