![]() |
Re: Einen Chat mit den Sockets programmieren
Zitat:
|
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 ;) |
Re: Einen Chat mit den Sockets programmieren
wo finde ich di IdIPWatch Komponente???
|
Re: Einen Chat mit den Sockets programmieren
Hi, wollte mal fragen ob jemand laut dem Pdf den Link:
![]() |
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?
|
Re: Einen Chat mit den Sockets programmieren
Zitat:
Zitat:
mfg Whatever |
Re: Einen Chat mit den Sockets programmieren
Zitat:
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! |
Re: Einen Chat mit den Sockets programmieren
Zitat:
|
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!
|
Re: Einen Chat mit den Sockets programmieren
kann mir jemand helfen?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz