![]() |
Re: Chat Funktion
also viel umändern musst du da nicht...
setz mal die procedure vor "procedure TForm1.ChatClick(Sender: TObject); " und ersetze "form1.ServerSocket1.Socket.SendText(edit5.tex t); " durch "message_broadcast(form1.ServerSocket1.Socket, edit5.Text);" Grüße, Björn |
Re: Chat Funktion
sehe ich das richtig, dass du nur den clientsocket initialisierst und dann versuchst über den Serversocket zu senden? Habe zwar mit Sockets noch nichts zu tun gehabt, aber das scheint doch das eigentliche Problem zu sein, oder?
|
Re: Chat Funktion
jap, das ist auch ein problem.
Nur ich hab gleich im ersten Post gesehen, dass es nicht funktionieren kann, da bei ServerSocket.socket.sendtext() kein empfänger angegeben ist. Du kannst Daten nur an eine bestehende Verbindung gleichzeitig senden. Bei ServerSocket.socket.sendtext() ist keine Verbindung angegeben. Also sendet der ins nichts und löst ne exception aus. Grüße, Björn |
Re: Chat Funktion
ahhh jetzt hat es endlich geklappt :-)
außerdem war noch ein fehler: es muss so aussehen, um die nachricht zu erhalten:
Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket); begin memo1.Lines.Add(Socket.ReceiveText) end; vielen dank für die schnellen hilfen :-) |
Re: Chat Funktion
oh sorry...
ist das normal, dass ich eine nachricht nur vom client zum server schicken kann ? wen ich es andersrum mache, dann schmiert das programm ab :-| SERVER:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var text:string; begin memo1.Lines.Add('Host: '+edit1.Text+''); serversocket1.Socket.SendText(edit1.Text); end; procedure TForm2.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin memo1.Lines.Add('Client: '+Socket.ReceiveText+'') end; Client:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var text:string; begin memo1.Lines.Add('Client: '+edit1.Text+''); clientsocket1.Socket.SendText(edit1.Text); end; procedure TForm2.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var text:string; begin memo1.Lines.Add(Socket.ReceiveText) end; also ich kann nur in eine Richtung einen Text schicken mfg |
Re: Chat Funktion
Hallo!
Zitat:
Also musst du auf der ServerForm einen "TServerSocket" + einen "TClientSocket" haben, auf der ClientForm jedoch brauchst du nur einen "TClientSocket".. lg |
Re: Chat Funktion
Zitat:
Zum Senden zum Client nochmals:
Delphi-Quellcode:
Außerdem deklarierst du eine Menge lokale Variablen und nutzt sie dann nicht und Informationen gehören nicht im visuellen Bereich gespeichert.
ServerSocket.Connections[i].SendText(TextStr);
|
Re: Chat Funktion
ah es hat geklappt :-)
nochmal für alle: beim Server müsst ihr dann
Delphi-Quellcode:
eingeben
serversocket1.Socket.Connections[0].SendText(text);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 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