Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Mein Chatprog. funzt nicht !! (https://www.delphipraxis.net/16691-mein-chatprog-funzt-nicht.html)

Vader 21. Feb 2004 20:19


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:
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.
was ist da falsch ?


mfg vader

Langohr 21. Feb 2004 22:07

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;

Die Muhkuh 22. Feb 2004 07:03

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!)

Vader 22. Feb 2004 09:51

Re: Mein Chatprog. funzt nicht !!
 
wenn ich den code :
Code:
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;
kommt die fehlermeldung:

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

Die Muhkuh 22. Feb 2004 09:57

Re: Mein Chatprog. funzt nicht !!
 
Zitat:

Zitat von Vader
wenn ich den code :
Code:
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;
kommt die fehlermeldung:

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


Ups sorry!

Delphi-Quellcode:
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;
So sollte es gehen

Vader 22. Feb 2004 10:01

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

Die Muhkuh 22. Feb 2004 10:08

Re: Mein Chatprog. funzt nicht !!
 
Mach doch am besten einen Button

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Serversocket1.Active := true;
end;
und dann noch einen:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  Serversocket1.Active := false;
end;
zum verbinden und trennen.



Du kannst auch über Internet mit dem Ding chatten. Du musst nur die IP vom Server wissen

Vader 22. Feb 2004 11:51

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:
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Memo1.Lines.Add(Socket.ReceiveText);
end;
mfg vader

Die Muhkuh 22. Feb 2004 11:55

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?

Vader 22. Feb 2004 12:50

Re: Mein Chatprog. funzt nicht !!
 
beim server, wenn ich auf den sendenbutton drücke, wo der code:
Code:
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;
ausgeführt wird ??

mfg vader


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr.
Seite 1 von 2  1 2      

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