Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2012, 19:35   #1
Daneel
 
Регистрация: 17.10.2011
Сообщений: 5
Вопрос Как использовать IdTCPClient/Server в Delphi XE3?

Как использовать IdTCPClient/Server в Delphi XE3?

Гугл не помог, яндекс тоже, в хелпе идёт речь не об новой версии indy.

Раньше стоял Delphi7, решил попробовать новые возможности в RAD XE3.
При 7, проблем, при работе с сетью, не возникало(из-за большого количества статей и книг о Indy). В новой версии не смог реализовать даже простенький чатик.

Можете посоветовать какую-нибудь литературу?

PS:Простите за нубский вопрос

Последний раз редактировалось Daneel; 22.12.2012 в 19:38.
Daneel вне форума Ответить с цитированием
Старый 22.12.2012, 20:37   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
в хелпе идёт речь не об новой версии indy.
А вы в хелп от Delphi XE3 смотрите. Там все про новую версию и написано.
Человек_Борща вне форума Ответить с цитированием
Старый 22.12.2012, 22:59   #3
Daneel
 
Регистрация: 17.10.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
А вы в хелп от Delphi XE3 смотрите. Там все про новую версию и написано.
Самая толковая статья, которую я нашел в локальном хелпе DXE3, расположана по в адресу Internet Direct (Indy) 10-InTroduction-An InTroduction to Indy
[ms-help://embarcadero.rs_xe3/Indy/IntroToIndy.html].
Но там еще в самом верху статьи написано, что эта статья для Indy 8.
Daneel вне форума Ответить с цитированием
Старый 23.12.2012, 00:13   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Daneel, у вас на 500% не Delphi XE3.
Я сижу в XE3 и вижу что это Indy 10:


Цитата:
Самая толковая статья, которую я нашел в локальном хелпе DXE3, расположана по в адресу Internet Direct (Indy) 10-InTroduction-An InTroduction to Indy
[ms-help://embarcadero.rs_xe3/Indy/IntroToIndy.html].
Но там еще в самом верху статьи написано, что эта статья для Indy 8.
Учите английский, меньше будите самого себя в заблуждения вводить.
Цитата:
Сообщение от в локальном хелпе DXE3, расположана по в адресу Internet Direct (Indy) 10-InTroduction-An InTroduction to Indy
[ms-help://embarcadero.rs_xe3/Indy/IntroToIndy.html].
I originally wrote this article in the days of Indy 8.0.
Переводится как:
Цитата:
Эту статью я написал ещё в дни Indy 8.

Последний раз редактировалось Человек_Борща; 23.12.2012 в 00:18.
Человек_Борща вне форума Ответить с цитированием
Старый 23.12.2012, 23:32   #5
Daneel
 
Регистрация: 17.10.2011
Сообщений: 5
По умолчанию

Я т конечно знаю английский таксибе, но я пролистал весь хелп Инди: Там в основном общее описание компонентов, либо конкретное описание классов, однако не нашел я там даже простого примерчика программы.

Это предложение я примерно так, взглянул на содержимое статьи и примеры и понял, что процедуру и фунции там еще Indy 8. Вот даже оттуда
Код:
procedure TformMain.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
  AThread.Connection.WriteLn('Indy Zip Code Server Ready.');
end;
Еще даже через AThread.

А XE3 у меня 1000% скрины выкладывать даже лишнее

Последний раз редактировалось Daneel; 23.12.2012 в 23:39.
Daneel вне форума Ответить с цитированием
Старый 24.12.2012, 10:40   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Еще даже через AThread.
и чего?
Имя переменной мб и изменили и всего-то.
У них справка хромает, но это не значит что тот, кто пользуется не может сам изучить некоторый кусок Indy библиотеки дабы понять что к чему там.
Документация кода у них на много лучше чем в справке.
К тому же вы с оф. сайта справку качали?
Человек_Борща вне форума Ответить с цитированием
Старый 24.12.2012, 18:45   #7
Daneel
 
Регистрация: 17.10.2011
Сообщений: 5
По умолчанию

Сегодня пролистал почти весь компонент IdClient\Server и интуитивно нашел функции чтобы работало+нашел форум где обсуждалась какая-то проблема в Indy и понял как в Indy10 всё устроенно.

Соорудил нехитрый чатик, можно выбрать быть клиентом или сервером, отправку чтение данных вроде понял как на Client так и Server. Можно считать начальный уровень освоения Indy10 пройден

Вот тока в чате, я использовал только отправку и чтение строк(readln, writeln), чтобы можно было сделать нечто большее, чем чат, надо осуществить передачу комбинированных данных. Например: имеется тип в котором X-Номер какой-то функции на сервере s1,s2 её параметры
Код:
type Ta=record
    s1,s2:string;
    x:integer;
  end;
var a:Ta;
Конечно можно передавать данные по очереди, но высока вероятность рассинхронизации. Вообщем надо передать и принять переменную A целиком. В старой версии Indy я бы написал так
Код:
IdClient1.writeBuffer(a,seizeOf(Ta))
Как это сделать для новой версии?

+В своём чате я хотел чтобы высвечивалось IP при подключении, использовал
Код:
AContext.Connection.IOHandler.Host или AContext.Connection.Socket.Host
Всегда возвращало "", маловероятно, что это из-за того, что IP 127.0.0.1, как узнать IP подключившихся?

Последний раз редактировалось Daneel; 24.12.2012 в 18:52.
Daneel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi XE3 + LiveTile RuVarez Общие вопросы Delphi 2 25.04.2013 09:56
Delphi XE3 и модули Silverstone Общие вопросы Delphi 10 25.12.2012 21:45
Программист Delphi который поможет доделать проект на Delphi XE3 BukTop2009 Фриланс 3 26.10.2012 23:51
Report Server. Как использовать хранимые процедуры? Сергей089 SQL, базы данных 0 19.10.2010 10:43
как построить обратную связь от сервера клиенту. язык Delphi компонент IdTCPClient S_Yevgeniy Работа с сетью в Delphi 6 10.12.2009 11:13