![]() |
Server und Client
Hallo Leute, ich habe folgendes Problem ich habe einen Server und einen Clienten erstellt vom Clienten zum Server kann ich einen Text verschicken, wenn ich dies umgekehrt machen möchte, bekomme ich eine Fehlermeldung. Woran liegt das?
Hier der Quelltext:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ScktComp, StdCtrls, ComCtrls; type TIP = class(TForm) Label1: TLabel; Label2: TLabel; ClientVerbinden: TButton; ClientTrennen: TButton; ServerVerbinden: TButton; ServerTrennen: TButton; ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; Beenden: TButton; StatusBar1: TStatusBar; ClientSenden: TButton; ServerSenden: TButton; Edit1: TEdit; Edit2: TEdit; Memo1: TMemo; Memo2: TMemo; procedure ClientVerbindenClick(Sender: TObject); procedure ServerVerbindenClick(Sender: TObject); procedure BeendenClick(Sender: TObject); procedure ClientTrennenClick(Sender: TObject); procedure ServerTrennenClick(Sender: TObject); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSendenClick(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSendenClick(Sender: TObject); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); private { Private-Deklarationen } public { Public-Deklarationen } end; var IP:TIP; implementation {$R *.DFM} procedure TIP.ClientVerbindenClick(Sender: TObject); //Verbindung des Clienten begin clientsocket1.active:=true; //Verbindung wird aktiviert end; procedure TIP.ServerVerbindenClick(Sender: TObject); //Verbindung des Servers begin serversocket1.active:=true; //Verbindung wird aktiviert end; procedure TIP.BeendenClick(Sender: TObject); begin close; //Programm wird beendet end; procedure TIP.ClientTrennenClick(Sender: TObject); begin clientsocket1.active:=false; //Client wird getrennt end; procedure TIP.ServerTrennenClick(Sender: TObject); begin serversocket1.active:=false; //Server wird getrennt end; procedure TIP.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin statusbar1.simpletext:='Verbindung wurde getrennt'; //Statusanzeige end; procedure TIP.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin statusbar1.simpletext:='Error. Verbindung wird getrennt!'; //Statusanzeige clientsocket1.Active:=false; //Bei Fehler wird Verbindung getrennt end; procedure TIP.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin statusbar1.simpletext:='Verbunden'; //Statusanzeige end; procedure TIP.ClientSendenClick(Sender: TObject); begin clientsocket1.socket.sendtext(edit1.text); end; procedure TIP.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var empfang:string; begin empfang:=socket.receivetext; memo2.lines.add(empfang); end; procedure TIP.ServerSendenClick(Sender: TObject); begin serversocket1.socket.sendtext(Edit2.text); end; procedure TIP.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var empfang2:string; begin empfang2:=socket.receivetext; memo1.lines.add(empfang2); end; end. Ich hoffe ihr könnt mir einen Tip geben oder mir weiterhelfen? Gruß Chippie |
Re: Server und Client
Hier ist noch die Fehlermeldung:
Zitat:
Chippie |
Re: Server und Client
du musst an die einzelnen clients schicken bei serversocket gibt es keinen allgemeinen aufruf glaub ich.
Delphi-Quellcode:
sollte der richtige aufruf sein
Serversocket1.Socket.Connections[0].Sendtext(text);
Edit : Connections nicht Connection |
Re: Server und Client
Wenn ich dort dann Connection eintrage, bekomme ich die Fehlermeldung Connection sei nicht definiert, weiß aber auch nicht als was ich das deklarieren muss, wenn man das überhaupt muss?
Gruß Chippie |
Re: Server und Client
Ups, blöder Fehler hab ein s bei Connection vergessen. Dann geht es, Danke.
Vielen Dank nochmal. Gruß Chippie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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 by Thomas Breitkreuz