Delphi-PRAXiS
Seite 9 von 11   « Erste     789 1011      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Einen Chat mit den Sockets programmieren (https://www.delphipraxis.net/21622-einen-chat-mit-den-sockets-programmieren.html)

Die Muhkuh 6. Sep 2008 23:20

Re: Einen Chat mit den Sockets programmieren
 
Zitat:

Zitat von bob_aus_der_flasche
der fehler kommt bei mir auch

wie soll das denn funzen xDDD

kapier nix von dem prog

:glaskugel:

noobkovski 17. Nov 2008 20:54

Re: Einen Chat mit den Sockets programmieren
 
hey , hab das gefühl da fehlt was in der PDF kam damit nicht ganz klar,


Client:
Delphi-Quellcode:
unit delchat;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, AppEvnts, ScktComp, ExtCtrls, StdCtrls, IdBaseComponent,
  IdComponent, IdIPWatch;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Timer1: TTimer;
    ClientSocket1: TClientSocket;
    ApplicationEvents1: TApplicationEvents;
    IdIPWatch1: TIdIPWatch;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Delay(time: word);
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Nickname,Nachricht:string;

implementation

{$R *.dfm}
procedure TForm1.delay(time:word);
var Start: Integer;
begin
Start:=GetTickCount;
while (GetTickCount)-(Start) <= time do
Application.ProcessMessages;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Label6.Caption:=IdIPWatch1.LocalIP; //Damit oben im Fenster schon beim FormCreate die aktuelle IP-Adresse angezeigt wird
Button1.Enabled:=false;//Damit man nicht schon vorher draufdrückt
Button2.Enabled:=false;// -''-
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Nickname:=Edit3.Text;
Button3.Enabled:=false;
Edit3.Enabled:=false;
Button2.Enabled:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ClientSocket1.Host:=Edit2.Text;
ClientSocket1.Active:=true;
Button2.Enabled:=false;
Edit2.Enabled:=false;
Button1.Enabled:=true;
Nachricht:=Edit3.Text+' hat den Raum betreten';
delay(500);
ClientSocket1.Socket.SendText(Nachricht);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if (ClientSocket1.Active=true) and (Edit1.Text<>'') then
ClientSocket1.Socket.SendText(NickName+': '+Edit1.Text);
Edit1.Text:='';
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label6.Caption:=IdIPWatch1.LocalIP;
end;

end.

Server:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    ServerSocket1: TServerSocket;
    IdIPWatch1: TIdIPWatch;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);
begin
label2.caption:=IdIPWatch1.LocalIP;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var Text:string;
i: Integer;
begin
Text:=Socket.ReceiveText;
Memo1.Lines.add(Timetostr(now)+': '+Text);
For I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
begin
with ServerSocket1.Socket.Connections [I] do
if (Connected) then SendText(Text);
end;
end;


end.


könntet ihr mir vll . noch sagen was dort noch fehlt damits erstmal funktioniert ?!
vielen dank im voraus, und sorry wenn es totaler schwachsinn ist, der dort steht ;)

Xster 29. Nov 2008 21:56

Re: Einen Chat mit den Sockets programmieren
 
wo finde ich di IdIPWatch Komponente???

Dave729 10. Dez 2008 22:02

Re: Einen Chat mit den Sockets programmieren
 
Hi, wollte mal fragen ob jemand laut dem Pdf den Link: nevrona öffnen kann. Hat jemand noch die Datein? Ich habe nämlich nur Delphi 3. Leider

taaktaak 20. Jan 2009 17:22

Re: Einen Chat mit den Sockets programmieren
 
Ab und zu sollte man ja auch mal seine ausgetretenen Pfade verlassen. Aber was fange ich denn mit den beiden heruntergeladenen Exen an? Client und Server zeigen beide die gleiche IP an - was soll ich denn im Client in das Edit "IP oder Name des Servers" eintragen? Welche IP? Welchen Namen?

Whatever 30. Jan 2009 13:59

Re: Einen Chat mit den Sockets programmieren
 
Zitat:

wo finde ich di IdIPWatch Komponente???
Die Komponente gehört zu den Indy Komponenten und ist nach der Installation unter dem Reiter Indy-Misc verfügbar.

Zitat:

Client und Server zeigen beide die gleiche IP an - was soll ich denn im Client in das Edit "IP oder Name des Servers" eintragen? Welche IP? Welchen Namen?
Sie zeigen beide die gleiche IP an weil sie auf ein und dem selben Rechner laufen. Entweder gibst du deine lokale IP an (die IP die angezeigt wird) oder 127.0.0.1 (localhost).

mfg Whatever

taaktaak 30. Jan 2009 15:37

Re: Einen Chat mit den Sockets programmieren
 
Zitat:

Entweder gibst du deine lokale IP an (die IP die angezeigt wird) oder 127.0.0.1 (localhost)
Arrrrggggg, ich hasse Computer, die nicht gehorchen ...

Vielen Dank für die Info. Leider kann ich da eingeben was ich will, der Mist funktioniert nicht. Egal, ob mit oder ohne Kaspersky: "Der Server kann nicht gefunden werden" An Einstellungen des Routers kann's ja wohl nicht liegen, da hier doch nur der Client mit dem Server auf dem gleichen PC verbunden werden soll - oder?.

PS #1: Warum sind eigentlich Client und Server überhaupt in 2 Programme aufgeteilt? Muss nicht jeder Chat-Teilnehmer immer beide Programme starten? Warum fasst man nicht beide Funktionalitäten in einem Programm zusammen?

PS #2: Wir bräuchten hier mal einen Smiley, mit man seinen widerspenstigen PC symbolisch mit einem großen Hammer zertrümmern kann!

DeddyH 30. Jan 2009 18:42

Re: Einen Chat mit den Sockets programmieren
 
Zitat:

Zitat von taaktaak
Wir bräuchten hier mal einen Smiley, mit man seinen widerspenstigen PC symbolisch mit einem großen Hammer zertrümmern kann!

Den hab ich mir auch schon öfter gewünscht :mrgreen:

Ghostleader 6. Okt 2009 13:25

Re: Einen Chat mit den Sockets programmieren
 
Wie genau installiere ich denn IdIPWatch bzw. diese Indykomponenten? Ich habe Delphi 5 da ist kein IdIPWatch enthalten!

Ghostleader 6. Okt 2009 14:52

Re: Einen Chat mit den Sockets programmieren
 
kann mir jemand helfen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr.
Seite 9 von 11   « Erste     789 1011      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz