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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2006, 22:09   #1
snakesoft
Пользователь
 
Регистрация: 26.12.2006
Сообщений: 13
По умолчанию Клиент-Сервер

Здравствуйте,уважаемые программисты.Пишу программу клиент-сервер.Надо чтобы программы общались между собой и чтобы сервер сверяла если пришло сообщение от клиента,тогда выполнить действие.Я пробовал с tcpclient и tcpserver.Че-то не получается.
Помогите,плиз.Вот код:
-----------------------------------------------------------------------
КЛИЕНТ

procedure TForm1.Button1Click(Sender: TObject);
begin
tcpclient1.RemoteHost:=edit1.Text;
tcpclient1.Active:=True;
end;
procedure TForm1.TcpClient1Error(Sender: TObject; SocketError: Integer);
begin
showmessage('warning');
halt;
end;
procedure TForm1.TcpClient1Connect(Sender: TObject);
begin
tcpclient1.Open;
tcpclient1.Connect;
tcpclient1.Sendln('reboot');
if tcpclient1.Connected then
begin
showmessage('123');

localPort у меня 1212
-----------------------------------------------------------------------
СЕРВЕР
----------------------------------------------------------------------
tcpserver1.Active:=True;
tcpserver1.Open;
tcpserver1.Receiveln;
if tcpserver1.Receiveln='reboot' then
begin
halt;
end;
-----------------------------------------------------------------------
С уважением,SNAKE
snakesoft вне форума Ответить с цитированием
Старый 28.12.2006, 09:29   #2
СТРАННИК
Пользователь
 
Аватар для СТРАННИК
 
Регистрация: 20.12.2006
Сообщений: 43
По умолчанию

Посмотри, очень хороший пример работы Клиент-Сервер, правда используются TClientSocket и TServerSocket
Вложения
Тип файла: zip xo.zip (17.1 Кб, 269 просмотров)
Если бы я был на столько умён, чтобы ответить на все вопросы самостоятельно, я бы не спрашивал...
СТРАННИК вне форума Ответить с цитированием
Старый 28.12.2006, 13:22   #3
snakesoft
Пользователь
 
Регистрация: 26.12.2006
Сообщений: 13
По умолчанию

Спасибо за пример,но на делфи 6 с помощью serversocket и clientsocket я тоже умею,мне вот интересно на делфи? с tcpclient1 и tcpserver1 эту фичу реализовать.Может кто-то знает?
snakesoft вне форума Ответить с цитированием
Старый 28.12.2006, 13:56   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Сервер:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPServer;

type
  TForm1 = class(TForm)
    IdTCPServer1: TIdTCPServer;
    Memo1: TMemo;
    Button1: TButton;
    procedure IdTCPServer1Execute(AThread: TIdPeerThread);
    procedure IdTCPServer1Connect(AThread: TIdPeerThread);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
memo1.Lines.Add('Connect');
end;

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
begin
memo1.Lines.Add(athread.Connection.ReadLn());
athread.Stop; //Как вариант ответа. Реализуемо разными способами.
end;

end.
Код:
  object IdTCPServer1: TIdTCPServer
    Active = True
    Bindings = <
      item
        IP = '127.0.0.1'
        Port = 1234
      end>
    CommandHandlers = <>
    DefaultPort = 0
    Greeting.NumericCode = 0
    MaxConnectionReply.NumericCode = 0
    OnConnect = IdTCPServer1Connect
    OnExecute = IdTCPServer1Execute
    ReplyExceptionCode = 0
    ReplyTexts = <>
    ReplyUnknownCommand.NumericCode = 0
    Left = 32
    Top = 40
  end


Клиент:
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    IdTCPClient1: TIdTCPClient;
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button2Click(Sender: TObject);
begin
IdTCPClient1.Connect();
IdTCPClient1.SendCmd(edit1.Text);
IdTCPClient1.Disconnect;
end;

end.
Код:
  object IdTCPClient1: TIdTCPClient
    MaxLineAction = maException
    Host = '127.0.0.1'
    Port = 1234
    Left = 104
    Top = 112
  end
BDS2005
Indy 9.0.5
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 19.07.2007, 17:50   #5
malor
Форумчанин
 
Регистрация: 23.05.2007
Сообщений: 151
По умолчанию

Где можно почитать что хорошее по работе с TidTCPClient? Вообще рассказ про этот компонент. В подробностях. А также и про TIdHTTP, TIdSSLIOHandlerSocket, TIdAntiFreeze.

Глубины Indy не предлагать...
malor вне форума Ответить с цитированием
Старый 19.07.2007, 18:15   #6
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

http://www.Indyproject.org/ - официальный сайт разработчиков.
Alar вне форума Ответить с цитированием
Старый 19.07.2007, 18:17   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Чем вас не устраивает данная книга ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 20.07.2007, 17:10   #8
X=Vitamin=X
Пользователь
 
Аватар для X=Vitamin=X
 
Регистрация: 18.11.2006
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Чем вас не устраивает данная книга ?
Чем не устраивает...
Книга довольно неплохая НО:
Вопервых к indy там относятся только примеры, которые я бы сказал недорработанные и сырые.
Вовторых книга называется "Глубины инди" НО по сути там рассказивается о сетях и разных интересных возможностях типа прослушки трафика и т.д.

З.Ы. поправте меня если я неправ
Незнание - рабство, знание - свобода ! ! !
X=Vitamin=X вне форума Ответить с цитированием
Старый 20.07.2007, 17:34   #9
malor
Форумчанин
 
Регистрация: 23.05.2007
Сообщений: 151
По умолчанию

Витаминыч, ты прав!
malor вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сервер клиент Dr.zlo Работа с сетью в Delphi 13 15.06.2009 21:43
Клиент-сервер-клиент Кронос Работа с сетью в Delphi 3 24.08.2007 07:57
клиент сервер Oksana1988 Фриланс 3 10.04.2007 12:12
Клиент-сервер Scorpio Работа с сетью в Delphi 6 13.02.2007 22:57