Problem with integer type

I have problem with integer type with Android64 application, when sometimes integer is wrongly passed to the server. I created new test function
[ROServiceMethod]
function TestINT(Input:Integer):Integer;

function Tworkflow.TestINT(Input: Integer): Integer;
begin
log(input.ToString);
result:=input;
end;
I use TRORemoteService with TROBinMessage and TRONetHttpClientChannel. Delphi 12, RemObjects Remoting SDK 10.0.0.1583.

The same code on windows client works fine, but on android it starts to return strange integers starting input=128 .

Few examples are following:
126 = 126
127 = 127
128 = 63
129 = 129
130 = 63
131 = 131
132 = 63
133 = 63
134 = 63
135 = 63
136 = 136
137 = 63
138 = 63
139 = 63
140 = 63
141 = 63
142 = 63
143 = 63
144 = 144
145 = 63
146 = 63
147 = 63
.
.
.
182 = 182
183 = 183
184 = 184
185 = 49
186 = 111
187 = 187
188 = 49
189 = 49
190 = 51
191 = 63

Hi,

63 code is ? char.

Can you save incoming/outgoing streams on server-side and review them, pls?
it may give some light to this issue.

Server incoming streams are Base64
Input: 127, incoming stream:
Android client:Uk8xMDcAAAAAAAAAYDMhVG4we0U//Wd1XTTJcQQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXJ/AAAA
Win32 client: Uk8xMDcAAAAAAAAADx2ujKItqUOz0yCsNmsWhwQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXJ/AAAA
Result: 127

Input 128, incoming stream
Android client: Uk8xMDcAAAAAAAAAYDMhVG4we0U//Wd1XTTJcQQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXI/AAAA
Result: 63
Win32 client: Uk8xMDcAAAAAAAAADx2ujKItqUOz0yCsNmsWhwQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXKAAAAA
Result: 128

Input 130, incoming stream
Andropid client:Uk8xMDcAAAAAAAAAYDMhVG4we0U//Wd1XTTJcQQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXI/AAAA
Result: 130
Win32: Uk8xMDcAAAAAAAAADx2ujKItqUOz0yCsNmsWhwQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXKCAAAA
Result: 130

Input: 185, incoming stream
Android client: Uk8xMDcAAAAAAAAAYDMhVG4we0U//Wd1XTTJcQQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXIxAAAA
Result: 49
Win32: Uk8xMDcAAAAAAAAADx2ujKItqUOz0yCsNmsWhwQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXK5AAAA
Result: 185
It must be on the client side in combination with Android. When I compile the same code to Win platform, it gives correct results.

On Android client WriteToStream looks correct for input 128 (the end of stream, where as I expect is the parameter, is the same as on Win client)
Stream:Uk8xMDcAAAAAAAAA2bVKciVy5U+PP6pqt2cJcwQAAABBdXRoEAAAAHRlc3RJbnB1dEludGVnZXKAAAAA
It seems, like network transfer is incorrect.

Hi,

try to use TROIndyHTTPChannel on client-side.
Will it work more stable than TRONetHttpClientChannel?

[quote=“EvgenyK, post:5, topic:29821”]
TROIndyHTTPChannel
[/quote] works fine. I was using TRONetHttpClient for SSL connection, but I found how to use Indy with SSL on Android.