Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Вниз

idTCPServer и idTCPClient как обмениваться сообщениями ?   Найти похожие ветки 

 
banderas   (2004-07-03 19:33) [0]

Как с помощью idTCPServer и idTCPClient передовать сообщения


 
Winni   (2004-07-04 13:18) [1]

Пример есть в комплекте Delphi6 (и Delphi7): Delphi6\Demos\Internet\Chat здесь есть папки Client и Server. Все работает.


 
banderas   (2004-07-04 14:42) [2]

Нее там используется не idTCPServer и idTCPClient а просто  TCPServer и TCPClient которые не являются компонентами indy


 
Winni   (2004-07-04 22:15) [3]

{***************************************************************
*
* Project  : CBClient
* Unit Name: MainForm
* Purpose  :
* Version  : 1.0
* Date  : Wed 25 Apr 2001  -  01:12:33
* Author  :
* History  :
* Tested  : Wed 25 Apr 2001  // Allen O"Neill <allen_oneill@hotmail.com>
*
****************************************************************}

unit MainForm;

interface

uses
{$IFDEF Linux}
  QGraphics,  QControls,  QForms,  QDialogs,  QComCtrls,  QMenus,  QButtons,
    QExtCtrls,  QStdCtrls,
{$ELSE}
  Graphics,  Controls,  Forms,  Dialogs,  ComCtrls,  Menus,  Buttons,  ExtCtrls,
    StdCtrls,
{$ENDIF}
 windows, messages,  ToolWin, spin,  SysUtils,  Classes, IdBaseComponent,
   IdComponent, IdTCPConnection, IdTCPClient;

type
 TForm1 = class(TForm)
   Label1: TLabel;
   edUserName: TEdit;
   Label2: TLabel;
   edServer: TEdit;
   Label3: TLabel;
   lbClients: TListBox;
   Label4: TLabel;
   memLines: TMemo;
   Label5: TLabel;
   edMessage: TEdit;
   SpeedButton1: TSpeedButton;
   IdTCPClient1: TIdTCPClient;
   Timer1: TTimer;
   Label6: TLabel;
   sePort: TSpinEdit;
   Button1: TButton;
   procedure FormShow(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
   procedure SpeedButton1Click(Sender: TObject);
   procedure IdTCPClient1Connected(Sender: TObject);
   procedure edMessageKeyPress(Sender: TObject; var Key: Char);
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$IFDEF MSWINDOWS}{$R *.dfm}{$ELSE}{$R *.xfm}{$ENDIF}

procedure TForm1.FormShow(Sender: TObject);
begin
 width := width + 1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 Com,
   Msg: string;
begin
 if not IdTcpClient1.Connected then
   exit;

 Msg := IdTCPClient1.ReadLn("", 5);

 if Msg <> "" then
   if Msg[1] <> "@" then
   begin
     { Not a system command }
     memLines.Lines.Add(Msg);
   end
   else
   begin
     { System command }
     Com := UpperCase(Trim(Copy(Msg, 2, Pos(":", Msg) - 2)));
     Msg := UpperCase(Trim(Copy(Msg, Pos(":", Msg) + 1, Length(Msg))));
     if Com = "CLIENTS" then
       lbClients.Items.CommaText := Msg;
   end;

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 if (edUserName.Text <> "") and
   (edServer.Text <> "") and
   SpeedButton1.Down then
 begin
   IdTCPClient1.Host := edServer.Text;
   IdTCPClient1.Port := sePort.Value;
   if SpeedButton1.Down then
     IdTCPClient1.Connect;
 end
 else
 begin
   if (edUserName.Text = "") or
     (edServer.Text = "") then
     ShowMessage("You must put in a User Name and server name to connect.");
   SpeedButton1.Down := false;
 end;
end;

procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
 IdTCPClient1.WriteLn(edUserName.Text);
end;

procedure TForm1.edMessageKeyPress(Sender: TObject; var Key: Char);
begin
 if key = #13 then
 begin
   IdTCPClient1.WriteLn(edMessage.Text);
   edMessage.Text := "";
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 IdTCPClient1.WriteLn("@" + "CLIENTS:REQUEST");
end;

end.


 
banderas   (2004-07-05 13:19) [4]

ОК ШПАСИБО!


 
alienserg   (2004-07-06 05:16) [5]

пример есть в IndyDemos\Chat



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
1-1092845927
Maxim____
2004-08-18 20:18
2004.09.12
RTE 204


14-1092749155
Aleksandr.
2004-08-17 17:25
2004.09.12
Подскажите, кто работал с MemProof, что тут к чему!


1-1093537096
mouse_web
2004-08-26 20:18
2004.09.12
Разбивка String


1-1093442096
Anderson
2004-08-25 17:54
2004.09.12
Изменение глубины цвета у TIcon...ПОМОГИТЕ


1-1093506999
SPy
2004-08-26 11:56
2004.09.12
TShellListView - стандартное popupmenu





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский