![]() |
Startschwierigkeiten bei Chatprogramm
Hi,
ich versuche mich grad an einem simplen Chatprogramm, aber so richtig gelingen will es nicht :(. Hier mal der Code. Was bei mir nicht klappt, ist das der Client keine Nachricht abschicken kann bzw keine beim Server ankommt. Server:
Delphi-Quellcode:
Client:
unit u_Server;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; ServerSocket1: TServerSocket; Edit1: TEdit; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocketClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocketClientListen(Sender: TObject; Socket: TCustomWinSocket); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin ServerSocket1.Port:= strtoint(edit1.text); ServerSocket1.Active:= true; end; procedure TForm1.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText); end; procedure TForm1.ServerSocketClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add('Client angeschlossen'); end; procedure TForm1.ServerSocketClientListen(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add('Client auf dem Weg'); end; end.
Delphi-Quellcode:
Ich hatte gehofft ihr könntet mir ein klein wenig hierbei unter die Arme greifen. Danke.
unit u_Client;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp; type TForm1 = class(TForm) ClientSocket1: TClientSocket; Button1: TButton; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Edit3: TEdit; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin ClientSocket1.Port := strtoint(edit1.text); //Festlegung des Ports ClientSocket1.Host := '127.0.0.1'; //IP des Zielrechners ClientSocket1.active := true; //Aufbau der Verbindung end; procedure TForm1.Button2Click(Sender: TObject); begin if ClientSocket1.Active then ClientSocket1.Socket.SendText(edit3.text); end; end. Ich versuche das ganze mit Delphi 5. |
Re: Startschwierigkeiten bei Chatprogramm
Das problem ist jetzt so schwierig nachzuvollziehen. Passiert einfach garnichts? Oder gibt es eine Exeption? Vielelicht eine Firewall? Sind die ports gleich?
Vielleicht hilft dir auch das weiter: ![]() ein kleinenes Tutorial, wo ein chatprogramm nach deinem Prinzip funktioniert. Vielleicht findest du deinen Fehler ja uch selber ;-) |
Re: Startschwierigkeiten bei Chatprogramm
Zitat:
Zitat:
|
Re: Startschwierigkeiten bei Chatprogramm
Ich mache das immer so:
Delphi-Quellcode:
Klappt (bei mir) eigentlich immer.
procedure TForm1.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket);
var s: string; begin s := Socket.ReceiveText; Memo1.Lines.Add(s); end; |
Re: Startschwierigkeiten bei Chatprogramm
Also so wie ich das sehe, liegt das peoblem am server oder?
Also der server erhält zwar einen text, sendet ihn aber nicht an die clients zurück. also ich hab das bei meinem chat so gemacht.
Delphi-Quellcode:
Bei mir funktionirts einwandfrei.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; Und dann muss da doch noch was am client gemacht werden. Das muss noch ins OnClientRead
Delphi-Quellcode:
Weil sonst empfängt der client ja nix.
Memo1.Lines.Add(Socket.ReceiveText);
Also so müsste es gehen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 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