Java: 1.7 ОС: Linux (но я не знаю, что это за Linux)
У меня есть CharBuffer, чтобы содержать то, что я читал из BufferedReader сокета. Socket был установлен, это точно, и когда я пытаюсь его сбросить, он дает результат ERROR_FORMAT.
После этого я прочитал данные из сокета, но вызвал java.net.SocketException: сброс соединения
Я решаю проблему сброса соединения, но почему CharBuffer.toString () дает результат ERROR_FORMAT?
Ниже мой код, что-то не так?
Socket connectionSocket=xxxxxx; //Connected socket given by other library
connectionSocket.setSoTimeout(75*1000);
CharBuffer charBuffer=CharBuffer.allocate(1024);
BufferedReader bufferedReader=null;
bufferedReader=new BufferedReader(new InputStreamReader(connectionSocket.getInputStream(), "BIG5"));
while((bufferedReader.read(charBuffer))!=-1) // in 2nd time, this line throw a java.net.SocketException: Connection reset
{
charBuffer.flip();
respStr.append(charBuffer);
log.info("CharBuffer: "+charBuffer.toString()); // this line runs just 1 tine, print result: "CharBuffer: 2016102618353211301 : ERROR_FORMAT"
charBuffer.clear();
}
log.info("CharBuffer all: "+charBuffer.toString()); // dodn't been execute