服务器 OnExecute 事件类似于
try
s := AContext.Connection.IOHandler.ReadLn(IndyTextEncoding_UTF8);
ok:=true;
except
on e:exception do winapi.windows.beep(500,500);
end;
基本问题是从客户端发送到服务器。
服务器 OnExecute 事件类似于
try
s := AContext.Connection.IOHandler.ReadLn(IndyTextEncoding_UTF8);
ok:=true;
except
on e:exception do winapi.windows.beep(500,500);
end;
我通过在Java代码中在字符串结尾添加LF字符来解决了这个问题。
String str = "Test\n";
try {
socket = new Socket("localhost", 13428);
osw =new OutputStreamWriter(socket.getOutputStream(), "UTF-8");
osw.write( str, 0, str.length());
osw.flush();
} catch (IOException e) {
System.err.print(e);
} finally {
socket.close();
}
TIdIOHandler.ReadLn()
支持 CRLF 和 LF 作为行终止符,除非你在可选的 ATerminator
参数中指定了不同的值。 - Remy Lebeau