В Indy, когда мы отправляем некоторые строки на сервер, они изменяются и будут отображаться в новом формате. Например, я попытался отправить двоичный файл (File.exe) с помощью команды «WriteLn» в indy:
Ms.LoadFromFile(FileAddress);
Ms.Read(B, Chunk);
for j := low(B) to high(B) do
begin
Part := Part + chr(B[j]);
end;
и для отправки строк:
FileClient.IOHandler.WriteLn(Part);
когда клиент отправлял строки на сервер, я следил за клиникой с помощью сниффера. и наконец я получил этот результат:
MZ?.........yy..,.......@...................................,.....o..?.I!,.LI!This program cannot be run in DOS mode....$..
Как вы видите, есть некоторые символы, которые больше не имеют своего истинного формата, и они изменились на "?" персонаж . но следует отметить, что сниффер автоматически изменил некоторую строку на «.» Например, одна из этих точек (".") может быть chr (0) или chr (5), может быть !!
но анализатор не может изменить некоторые символы на "." и мы видим их в "?" формат.
например, я открываю двоичный файл с помощью блокнота, и вы можете увидеть истинный формат:
альтернативный текст http://up.iranblog.com/Files/9f195012dbc2425b8773.png
Во всяком случае, вопрос: как я могу отправить двоичный файл с командой «WriteLn» в Indy 10?