Java と freepascal(lazarus) アプリ間の通信に問題があります。ソケットを使用しています。それらは正しく接続されます。あるアプリから別のアプリに何かを送信するまで、すべてがスムーズに進んでいます。「abc」の代わりにJavaでは、ランダムな文字があります。コードは次のとおりです。
ジャワ:
ServerSocket serverSocket = new ServerSocket(1025);
Socket client = serverSocket.accept();
InputStream is = client.getInputStream();
byte bytesTest[] = new byte[10000];
byte bytes[] = new byte[is.read(bytesTest)];
is.read(bytes);
String textReceived = new String(bytes, "UTF-8");
System.out.println(textReceived);
FP:
connect(socket, socket_info, SizeOf(socket_info));
S := 'abcd';
res := UTF8Bytes(S);
send(socket, res, sizeof(res), 0);
send(socket, res, sizeof(res), 0);
function UTF8Bytes(const s: UTF8String): TArray;
begin
SetLength(Result, Length(s)+1);
if Length(Result)>0 then
Move(s[1], Result[0], Length(s));
Result[high(Result)] := 0;
end;