我在 java 和 freepascal(lazarus) 应用程序之间的通信有问题。我使用插座。它们正确连接。一切都很顺利,直到我想将一些东西从一个应用程序发送到另一个应用程序。在 java 而不是“abc”中,我有随机字符。继承人的代码:
爪哇:
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;