![]() |
Mein Chatprog. funzt nicht !!
ich hab ein chatprog geschrieben wo der client den server text sendet und der server den client text senden soll.
aber das funzt nicht. client
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin clientsocket1.open; end; procedure TForm1.Button2Click(Sender: TObject); begin if Clientsocket1.Active = true then Clientsocket1.Socket.SendText(Edit1.Text); Edit1.Text:=''; end; procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add('***Connected.') end; procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add('***Disconnected.'); end; procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText); end; end. server
Code:
was ist da falsch ?
procedure TForm1.FormCreate(Sender: TObject);
begin serversocket1.Open; end; procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText); end; procedure TForm1.ServerSocket1ClientWrite(Sender: TObject; Socket: TCustomWinSocket); begin serversocket1.Socket.SendText(Edit1.Text); Edit1.Text:=''; end; end. mfg vader |
Re: Mein Chatprog. funzt nicht !!
Also ich fange erst einmal bei der Verbindung zum Server an:
1.) Beide (Server und Client) müssen den Selbenport besitzen welche du benutzen kannst steht im Forum musst du mal die Suche nutzten 2.) Der Client muss in der Eigenschaft "Address" die IP des Server beinhalten Der Client sieht mir ansonsten so richtig aus, allerdings beim Server würde ich noch einen Button hinzufügen, der das senden übernimmt ähnlich wie beim Client
Code:
procedure TForm1.Button1Click(Sender: TObject); begin if Serversocket1.Active = true then if ServerSocket1.Socket.ActiveConnections > then ServerSocket1.Socket.Connections[1].SendText(Edit1.Text); Edit1.Text:=''; end; |
Re: Mein Chatprog. funzt nicht !!
1. Könntest du den Titel bitte aussagekräftiger machen? :wink:
2. Vielleicht stellst du mal den Server und den Client auf Acitve = true :roll: @Langohr wenn dann sollte das schon so heißen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var I: Integer; //<- Ohne des gehts net. begin if Serversocket1.Active = true then if ServerSocket1.Socket.ActiveConnections > then begin for I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do begin ServerSocket1.Socket.Connections[1].SendText(Edit1.Text); Edit1.Text:=''; end; end; end; 3. Bitte zukünftig den Delphi-Code in zwei [ delphi] [ /delphi] machen (Ohne die Leerzeichen!) |
Re: Mein Chatprog. funzt nicht !!
wenn ich den code :
Code:
kommt die fehlermeldung:
procedure TForm1.Button1Click(Sender: TObject);
var I: Integer; //<- Ohne des gehts net. begin if Serversocket1.Active = true then if ServerSocket1.Socket.ActiveConnections > then begin for I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do begin ServerSocket1.Socket.Connections[1].SendText(Edit1.Text); Edit1.Text:=''; end; end; end; Fehler] Unit1.pas(57): Ausdruck erwartet, aber 'THEN' gefunden [Fehler] Unit1.pas(58): Operator oder Semikolon fehlt [Fataler Fehler] Server1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden mfg vader |
Re: Mein Chatprog. funzt nicht !!
Zitat:
Ups sorry!
Delphi-Quellcode:
So sollte es gehen
procedure TForm1.Button1Click(Sender: TObject);
var I: Integer; //<- Ohne des gehts net. begin if Serversocket1.Active = true then begin if ServerSocket1.Socket.ActiveConnections > 0 then begin for I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do begin ServerSocket1.Socket.Connections[1].SendText(Edit1.Text); Edit1.Text:=''; end; end; end; end; |
Re: Mein Chatprog. funzt nicht !!
hab noch was vergessen !
weil du schreibst ich soll die server und clienteigenschaft active auf true setzen. ist serversocket und cliensocket.open im codeteil nicht das gleiche ? und noch eine frage: ich kann mein chatprog. nur bei mir auf einen rechner probieren und han bei beiden den port 8700 und host 127.0.0.1 eingegeben . mfg vader |
Re: Mein Chatprog. funzt nicht !!
Mach doch am besten einen Button
Delphi-Quellcode:
und dann noch einen:
procedure TForm1.Button1Click(Sender: TObject);
begin Serversocket1.Active := true; end;
Delphi-Quellcode:
zum verbinden und trennen.
procedure TForm1.Button2Click(Sender: TObject);
begin Serversocket1.Active := false; end; Du kannst auch über Internet mit dem Ding chatten. Du musst nur die IP vom Server wissen |
Re: Mein Chatprog. funzt nicht !!
hallo spider,
hab deine code eingefügt hat geklappt, aber : wenn ich jetzt von client text sende zum server funzt es, wenn ich aber jetzt vom server zum client text senden will kommt der fehler: Listenindex überschreitet das Maximun [1] ist der code vom client überhaupt richtig um vom server text zum empfangen , was ich geschrieben habe.
Code:
mfg vader
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText); end; |
Re: Mein Chatprog. funzt nicht !!
Also dein Code ist richtig.
Kann mir grad net vorstellen wo dein Fehler ist. Wo kommt denn der Fehler? Beim Server oder beim Client? |
Re: Mein Chatprog. funzt nicht !!
beim server, wenn ich auf den sendenbutton drücke, wo der code:
Code:
ausgeführt wird ??
procedure TForm1.Button1Click(Sender: TObject);
var I: Integer; //<- Ohne des gehts net. begin if Serversocket1.Active = true then if ServerSocket1.Socket.ActiveConnections > 0 then begin for I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do begin ServerSocket1.Socket.Connections[1].SendText(Edit1.Text); Edit1.Text:=''; end; end; end; mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 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