Мой простой Java сервер работает на Heroku. И вот как на самом деле я обрабатываю запросы GET:
InputStreamReader input = new InputStreamReader(socket.getInputStream());
StringBuilder s = new StringBuilder();
while (input.ready()) s.append((char) input.read());
И вот как я отвечаю:
OutputStreamWriter out = new OutputStreamWriter(socket.getOutputStream());
String answer = "HTTP/1.1 200 OK\n" +
"Cache-Control: no-cache\n" +
"Connection: close:\n" +
"Content-Type: application/json\n\n" +
"some json";
out.write(answer);
out.flush();
out.close();
Я сделал простое клиентское приложение, которое успешно подключается, но получает 503 ответили. Интересно, почему.
Я нашел это в своих журналах Heroku. Я не знаю, как это исправить:
sock=backend at=error code=H18 desc="Server Request Interrupted" method=GET path="/" host=virus-server.herokuapp.com request_id=3406dcc4-2d02-4ad3-951e-942d11f17b10 fwd="109.187.207.207" dyno=web.1 connect=0ms service=101ms status=503 bytes=109 protocol=https
sock=backend at=error code=H18 desc="Server Request Interrupted" method=GET path="/favicon.ico" host=virus-server.herokuapp.com request_id=63d3539f-6b3d-4bf0-b69f-fa446cb6a83d fwd="109.187.207.207" dyno=web.1 connect=2ms service=105ms status=503 bytes=109 protocol=https
Я хочу, чтобы мой сервер просто отправил файл json к клиентскому сокету. Большое спасибо!