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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 09.10.2009, 15:37   #1
S_Yevgeniy
Форумчанин
 
Аватар для S_Yevgeniy
 
Регистрация: 08.07.2009
Сообщений: 246
По умолчанию INDY 10 (idCmdTCPServer & idCmdTCPClient) & Delphi 2009

Доброе время суток.
Прошу помощи. Может есть у кого пример работы с idCmdTCPServer ну и клиентом соответственно. Хотелось бы научиться этим пользоваться.
Заранее спасибо всем откликнувшимся.
Да прибудет с Вами свет и радость!!!
S_Yevgeniy вне форума
Старый 09.10.2009, 17:29   #2
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Вот пример работы с idTCPserver и клиентом соответсвенно:
Код:
//*********************Sever
unit Main;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdCustomTCPServer, IdTCPServer,
  IdCmdTCPServer, StdCtrls, IdContext, IdUri, IdCommandHandlers;
 
type
  TfrmMain = class(TForm)
    OtaibiList: TListBox;
    OtaibiServer: TIdCmdTCPServer;
    procedure FormCreate(Sender: TObject);
    procedure OtaibiServerConnect(AContext: TIdContext);
    procedure OtaibiServerDisconnect(AContext: TIdContext);
    procedure OtaibiServerCommandHandlers1Command(ASender: TIdCommand);
    procedure OtaibiServerExecute(AContext: TIdContext);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  frmMain: TfrmMain;
 
implementation
 
{$R *.dfm}
 
procedure TfrmMain.FormCreate(Sender: TObject);
begin
  OtaibiServer.Active := True;
end;
 
procedure TfrmMain.OtaibiServerCommandHandlers1Command(ASender: TIdCommand);
begin
   OtaibiList.Items.Add('Execute command from: ' +
     ASender.Context.Connection.Socket.Binding.PeerIP);
   ASender.SendReply;
   ASender.Context.Connection.IOHandler.WriteLn('This is a dynamic response ' +
                 'from the Otaibi Server. It can be customized to add much ' +
                 'more functionality.');
end;
 
procedure TfrmMain.OtaibiServerConnect(AContext: TIdContext);
begin
  OtaibiList.Items.Add('Connected from: ' +
    AContext.Connection.Socket.Binding.PeerIP);
end;
 
procedure TfrmMain.OtaibiServerDisconnect(AContext: TIdContext);
begin
  OtaibiList.Items.Add('Disconnected from: ' +
    AContext.Connection.Socket.Binding.PeerIP);
end;
 
procedure TfrmMain.OtaibiServerExecute(AContext: TIdContext);
var
  strCommand: string;
begin
  strCommand := AContext.Connection.IOHandler.ReadLn;
  if SameText (strCommand, 'text') then
     AContext.Connection.IOHandler.WriteLn('200 OK');
end;
 
end.
 
//*********************Client
unit MainClient;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient;
 
type
  TfrmMain = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    OtaibiClient: TIdTCPClient;
    eHost: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  frmMain: TfrmMain;
 
implementation
 
{$R *.dfm}
 
procedure TfrmMain.Button1Click(Sender: TObject);
begin
  If eHost.Text = '' then OtaibiCLient.Host := 'localhost'
  else OtaibiClient.Host := eHost.Text;
 
  OtaibiClient.Connect;
 
  ShowMessage (OtaibiClient.IOHandler.ReadLn);
end;
 
procedure TfrmMain.Button2Click(Sender: TObject);
begin
  OtaibiClient.Disconnect;
end;
 
procedure TfrmMain.Button3Click(Sender: TObject);
begin
  OtaibiClient.SendCmd('test') ;
  ShowMessage (OtaibiClient.LastCmdResult.Code + ' : ' +
               OtaibiClient.LastCmdResult.Text.Text);
end;
 
procedure TfrmMain.Button4Click(Sender: TObject);
begin
  OtaibiClient.SendCmd('execute') ;
  ShowMessage (OtaibiClient.LastCmdResult.Code + ' : ' +
               OtaibiClient.LastCmdResult.Text.Text);
  ShowMessage (OtaibiClient.IOHandler.ReadLn);
end;
 
end.
TwiX вне форума
Старый 10.10.2009, 01:03   #3
S_Yevgeniy
Форумчанин
 
Аватар для S_Yevgeniy
 
Регистрация: 08.07.2009
Сообщений: 246
По умолчанию

Вот я попытался сделать проекты по вашему примеру. Но что-то не так. подкорректируйте пожалуйста.

Файл
Вложения
Тип файла: rar INDY.rar (13.6 Кб, 41 просмотров)
Да прибудет с Вами свет и радость!!!
S_Yevgeniy вне форума
Старый 10.10.2009, 01:53   #4
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Хм... Опять возвращаюсь к тому, что надо использовать инди =)
Вот пример чата
Вложения
Тип файла: zip Chat 2.0.zip (443.5 Кб, 176 просмотров)
TwiX вне форума
Старый 10.10.2009, 02:54   #5
S_Yevgeniy
Форумчанин
 
Аватар для S_Yevgeniy
 
Регистрация: 08.07.2009
Сообщений: 246
По умолчанию

Цитата:
Сообщение от TwiX Посмотреть сообщение
Хм... Опять возвращаюсь к тому, что надо использовать инди =)
Что я не так сделал то?

Цитата:
Вот пример чата
У меня есть такой пример только он не компилируется в Delphi 2009.
Да прибудет с Вами свет и радость!!!
S_Yevgeniy вне форума
Старый 10.10.2009, 10:57   #6
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Цитата:
Сообщение от S_Yevgeniy Посмотреть сообщение
Что я не так сделал то?
Всё правильно, просто я сам не работал с otaiby... Indy легче для понимания и меньше багов.

Цитата:
Сообщение от S_Yevgeniy Посмотреть сообщение
Что я не так сделал то?
У меня есть такой пример только он не компилируется в Delphi 2009.
От туда Вам нужен только принцип отправки
TwiX вне форума
Старый 10.10.2009, 11:44   #7
S_Yevgeniy
Форумчанин
 
Аватар для S_Yevgeniy
 
Регистрация: 08.07.2009
Сообщений: 246
По умолчанию

Вы простите я не до конца понимаю так как только начал изучать данную область программирования в делфи как и вообще программирование. Но разве INDY 10 и (idCmdTCPServer & idCmdTCPClient) это не одно и тоже. Мне как раз и нужно INDY 10 ну мне посоветовали.
Да прибудет с Вами свет и радость!!!
S_Yevgeniy вне форума
Старый 10.10.2009, 12:38   #8
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Я не знаю, что такое otaibeTCPServer =)
А TCP клиент писал только на autoIt xD
Но я всё-таки добил инди (у меня тож не компилился тот чат (2009 делфа)) =) Вот:
Вложения
Тип файла: zip InDy.zip (619.7 Кб, 230 просмотров)
TwiX вне форума
Старый 10.10.2009, 12:57   #9
S_Yevgeniy
Форумчанин
 
Аватар для S_Yevgeniy
 
Регистрация: 08.07.2009
Сообщений: 246
По умолчанию

Большое Вам спасибо!!! Огромное!!!
Да прибудет с Вами свет и радость!!!
S_Yevgeniy вне форума
Старый 10.10.2009, 15:04   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Для начала вам лучше всего ознакомиться с примерами
http://indyproject.org/Sockets/Demos/index.EN.aspx
http://www.atozed.com/Indy/Demos/10/index.ru.aspx
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46
Просто не понимаю б чём проблема!!!!!!!(char* && index) artush1984 Общие вопросы C/C++ 12 30.05.2009 03:30
TJVRichEdit & Delphi 2009 fanatica Компоненты Delphi 1 20.04.2009 13:28
Проблема с MVC++ 2005 && 2008 на висте NetGod Софт 1 09.08.2008 17:14
Delphi & Access & Ole vodila БД в Delphi 0 15.07.2008 11:11