У меня есть этот сервер (Java):
ServerSocket s = new ServerSocket(8080);
Socket accept = s.accept();
InputStream inputStream = accept.getInputStream();
while (inputStream.available() > 0) {
char b = (char) inputStream.read();
System.out.print(b);
}
System.out.println("finish recieve");
System.out.println("start write");
OutputStream outputStream = accept.getOutputStream();
outputStream.write("HTTP/1.1 200 OK\r\n\r\n asdf".getBytes());
System.out.println("data sent to client");
outputStream.flush();
accept.close();
А этот клиент (delphi):
if not InternetWriteFile(hRequest, pchar(json.DelimitedText), length(json.DelimitedText), count) then
showmessage('Send content problem: ' + inttostr(getlasterror));
showmessage('Wait for server to send data');
if not InternetGetLastResponseInfo(statusCode, resp, read) then
showmessage('Error '+IntToStr(GetLastError));
showmessage('response-size:' + inttostr(read));
if not HttpEndRequest(hRequest,nil,0,0) then
showmessage('Send end problem: ' + inttostr(getlasterror));
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hConn);
Я запускаю сервер, чем клиент.
Клиент наконец-то показывает мне диалог Wait for server to send data
.
Я проверяю Java-сервер и последние строки
start write
data sent to client
Хорошо, я предполагаю, что клиент получил данные во внутреннем буфере. Я нажимаю на диалоговое окно, но следующий диалог response-size:0
.
Как получить hello
в клиенте?