Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TCPClient/TCPServer - обратная связь, Обмен текстом 
:(
    Опции темы
Akella
Дата 1.2.2006, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Дааааааааааааа
Кто бы мог подумать, что именно так нужно....
я вообще слышу первый раз про TInStreamVCL smile
PM MAIL   Вверх
Akella
Дата 1.2.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



А как быть с проксёй? А если сервер или клиент за прокси?
PM MAIL   Вверх
Romikgy
Дата 1.2.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Имхо только юзая TidHTTP там есть про проксю smile
Цитата(Akella @ 1.2.2006, 10:52 Найти цитируемый пост)

сервер

Цитата(Akella @ 1.2.2006, 10:52 Найти цитируемый пост)

за прокси

А это вооще, имхо , врядли досвистишься smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Akella
Дата 1.2.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Протестировал с прокси, уже радует
вообще-то оказалось и не нужно свистеть, видать Indy берут прокси по-умолчанию установленный в системе. Короче все работает без доп. телодвижений, только порты открыл в FireWall`е у себя и у сервера на той стороне "моря".
PM MAIL   Вверх
Akella
Дата 1.2.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Образщюсь к модераторам этого подфорума. Можно было бы топик Alex`а вставить в FAQ. Т.к. пока не было в рунете ответ на этот вопрос... smile и .т.к. его код реально работает
PM MAIL   Вверх
temp0001
Дата 7.5.2007, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.5.2007

Репутация: нет
Всего: нет



Здрасте всем.
Стесняюсь спросить, а где взять TInStreamVCL? Ни в Гугле ни у себя на компе ни нашел ничего похожего.
Всем спасибо.
PM MAIL   Вверх
temp0001
Дата 7.5.2007, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.5.2007

Репутация: нет
Всего: нет



Эт снова я. По поводу передачи файлов через SSL. Не знаю актуально ли еще это тема, но поскольку класс TInStreamVCL я так и не нашел пришлось обхойтись тем что есть. Я нашел такое решение проблеммы. Взял код из стандартного примера к 10 индюхе, изменения выделенны жирным цветом.

Код сервера.
Код

procedure TForm1.IdTCPServerExecute(AContext: TIdContext);
var
  connected: boolean;
  line: string;
  connectionNumber: integer;
 
  F: file;
  S: string;
 //добавляем две переменные
begin
  { [!] NOTE: since this is a simple example to show how SSL works, we did not bother to synchronize
              any of the VCL/display calls - remember that the VCL is NOT thread-safe! }

  { Find an open connection... [!] }
  connectionNumber:= 0;
  while (ledConnected[connectionNumber].Brush.Color = clOn) do inc(connectionNumber);

  ledConnected[connectionNumber].Brush.Color:= clOn;  { show that we're connected [!] }

//  AContext.Connection.IOHandler.WriteLn('Hello');

  assignfile(f, 'c:\temp\readme.txt'); //открываем файл
  reset(f,1);
  setlength(s, filesize(f)); //устанавливаем длинну строки равной длинне файла
  blockread(f, s[1], length(s)); //читаем файл в строку
  s:=s+'This is the end of file; //добавляем терминатор 
  closefile(f);

  Acontext.Connection.IOHandler.WriteLn(S); //отсылаем файл в виде строки клиенту
  connected:= true;
  while connected do begin
    try
      line:= AContext.Connection.IOHandler.ReadLn;
      AContext.Connection.IOHandler.WriteLn('>>'+line);
      memo1.Lines.add(format('[%d] %s',[connectionNumber,line]));
      if (ansiUpperCase(line) = 'BYE') or (ansiUpperCase(line) = 'QUIT') then begin
        AContext.Connection.Disconnect;
        connected:= false;
      end; { if (ansiUpperCase(line) = 'BYE') or (ansiUpperCase(line) = 'QUIT') }
    except
      connected:= false;
    end; { try/except }
  end; { do while connected }

  ledConnected[connectionNumber].Brush.Color:= clOff;    { show that we've disconnected [!] }

end; { ID TCP SERVER EXECUTE }


Код клиента:

Код

procedure TForm1.btnConnectClick(Sender: TObject);
var
  line: string;
begin
  btnConnect.enabled:= false;
  IdTCPClient.Host:= edtHostAddr.text;
  try
    IdTCPClient.Connect;
    ledConnected.brush.color:= clLime;
    edit1.SetFocus;
  except
    btnConnect.Enabled:= true;
  end; { try/except }

  try

 line:= IdTCPClient.IOHandler.WaitFor('This is the end of file'); //читаем до тех пор пока не встретим 
                                                                                                 //терминатор

    memo1.lines.add(line);
  except
    btnConnect.enabled:= true;
  end; { try/except }

  if btnConnect.Enabled then ledConnected.brush.color:= clRed;

end; { BTN CONNECT CLICK }



Вуаля.
PM MAIL   Вверх
temp0001
Дата 8.5.2007, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.5.2007

Репутация: нет
Всего: нет



Есть кто живой? А вот скажите INDY10 при передачи по SSL какой алгоритм симметричного шифрования использует? Кто-нибудь знает? Потому как 8 версия использовала что-то устаревшее типа RC4 (Во всяком случае при подклучении к серверу опера ругалась что подключение хоть и зашифровано, но, мол, не сильно обольщайтесь на этот счет). А к примеру из 10 версии опера вообще не хочет подключаться. Вроде где-то в отладчике на строке Chiper.Name в хинте всплыло AES 256, но можно ли этому верить?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.