Перейти к содержанию
Fire Monkey от А до Я
  • 0

TIdTCPClient на Android


Рагим

Вопрос

Добрый день. Решил сегодня сделать некоторые доработки в приложение написанное на XE7 под Андроид и столкнулся со следующей проблемой: приложение не получает информацию через связку TIdTCPClient/TIdTCPServer. До этого все работало.

Отправляю сообщение с компьютера через TIdTCPClient:

try
    form2.IdTCPClient1.Connect;
    form2.IdTCPClient1.IOHandler.WriteLn(ss,enUTF8);
    form2.IdTCPClient1.Disconnect;
   except
     showmessage('Error');
     end;
    end;//try

получаю (вернее не получаю) на телефоне под Андроид:

procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
begin
 l := AContext.Connection.IOHandler.ReadLn(enUTF8);
 showmessage(l);
end;

 

В чем может быть проблема и как решить?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
procedure TDM.TCPServerExecute(AContext: TIdContext);
Var AData : TIdBytes;
    Status : TStatus;
begin
//  AContext.Connection.IOHandler.CheckForDataOnSource(10);
  if not AContext.Connection.IOHandler.InputBufferIsEmpty then
  begin
    AContext.Connection.IOHandler.ReadBytes(AData,VoiceBufferByteLength);
//  AContext.Connection.IOHandler.ReadStream();
    if AData<>Nil then
    begin
      Status.DataType:='recieved';
      Status.ByteOut:=0;
      Status.ByteIn:=Length(AData);
      QueueStatus.PushItem(Status);
      if Length(AData)=VoiceBufferByteLength then
      begin
        BytesToRaw(AData,FVoiceBuffer.Data^,VoiceBufferByteLength);
        QueuePlay.PushItem(FVoiceBuffer);
      end;
    end;
  end;
end;

Вот как то так попробуйте

Ссылка на комментарий
  • 0

Не помогло.

 

На телефоне TCPServer не получает ничего. проставил showmessage практически на все события, которые у него есть, но глухо. TCPClient нормально подключается к телефону и посылает сообщение.

Ссылка на комментарий
  • 0
В 21.11.2016 в 19:20, Рагим сказал:

Не помогло.

 

На телефоне TCPServer не получает ничего. проставил showmessage практически на все события, которые у него есть, но глухо. TCPClient нормально подключается к телефону и посылает сообщение.

Покажите код сервера, включая инициализацию (назначение портов и прочее)

Ссылка на комментарий
  • 0
4 минуты назад, Камышев Александр сказал:

tcp сервер на телефоне, жесть

Почему? Для некоторых нужд очень даже. К примеру регулярно пользуюсь ftp-сервером на телефоне - намного удобнее заливать/сливать (по wifi) книги, музыку и прочее, сидя за компьютером в Far manager, чем перетаскивая мышкой в убогих индусских синхронизаторах или пользоваться облачными решениями (залить 30 гигов в dropbox с компьютера (тут нет проблем, инет 450 мегабит), а потом их выкачивать из инета на телефон даже по wifi ac то еще удовольствие).

Ссылка на комментарий
  • 0
В 21.11.2016 в 19:20, Рагим сказал:

Не помогло.

 

На телефоне TCPServer не получает ничего. проставил showmessage практически на все события, которые у него есть, но глухо. TCPClient нормально подключается к телефону и посылает сообщение.

Попробуйте еще телнетом проверить : telnet IP_телефона Порт_сервера ,произойдет соединение или нет?

Ссылка на комментарий
  • 0
21 минуту назад, Евгений Корепов сказал:

Почему? Для некоторых нужд очень даже. К примеру регулярно пользуюсь ftp-сервером на телефоне - намного удобнее заливать/сливать (по wifi) книги, музыку и прочее, сидя за компьютером в Far manager, чем перетаскивая мышкой в убогих индусских синхронизаторах или пользоваться облачными решениями (залить 30 гигов в dropbox с компьютера (тут нет проблем, инет 450 мегабит), а потом их выкачивать из инета на телефон даже по wifi ac то еще удовольствие).

и возразить то нечего, да так удобно, файловые менеджеры есть с такой возможностью, открывают порт и пишут по какому адресу ftp доступен

Ссылка на комментарий
  • 0

Задайте ваш вопрос автору библиотеки Remy здесь: http://bcbj.org/forums/viewforum.php?f=10&sid=e022f859f55a36e1a172e415bf163bad

Просто создайте тему. На этом форуме он бывает раз в сутки. Любые вопросы с Indy решаються там и всегда со 100% успехом.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...