Я пытаюсь реализовать java-сервер с http-фреймами, у меня есть несколько URI: /login.jsp и /logout.jsp, которые находятся в запросе URi в формате http.Отсутствующие символы в строке java
Когда я посылаю запрос выхода из системы на сервер я посылаю его с головой, как так:
Cookie: user_auth="SomeCookie".
Вот код:
public HttpMessage nextMessage() {
if (!isAlive()) {
try {
throw new IOException("Tokenizer is Closed");
} catch (IOException e) {
e.printStackTrace();
}
}
// Return String
HttpMessage newMessage = null;
String output = null;
StringBuilder stringBuilder = new StringBuilder();
try {
int c;
while ((c = this.fInputStream.read()) != -1) {
if (c == this.fDelimiter)
break;
else
stringBuilder.append((char) c);
}
// Create an HttpMessage from the information received
output = stringBuilder.toString();
} catch (IOException e) {
this.fClosed = true;
try {
throw new IOException("Connection is Dead");
} catch (IOException e1) {
e1.printStackTrace();
}
}
newMessage = parseHttp(output);
return newMessage;
}
Метод parseHttp ломает тип, и заголовки Кроме.
Но проблема после отправки входа действия на сервер, если я пытаюсь отправить выход из системы действия разобранной информации, хранящаяся в строке строителе недостающими символов (более конкретно RequestType, RequestURI и HttpVersion) отсутствуют, и можно найти только заголовок.
Кроме того, если я пытаюсь напечатать каждый символ, который я получаю от inputStream, то я вижу все символы, которые должны находиться в кадре.
Спасибо! хотя продолжение не будет работать здесь, я получил намек на то, что может быть проблемой. Проблема с моим кодом заключалась в том, что нулевой символ остался в inputStreamReader, и в следующий раз, когда я попытался прочесть из потока, первым символом, который я получил, был нулевой символ, хотя странно, что я все еще мог читать другие символы до следующего разделителя .. – user3040942