Autor Beitrag
Arbengie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 66



BeitragVerfasst: Do 14.04.11 14:29 
Hi, ich versuche gerade einen kl. Chat zu machen, doch ich habe folgendes Problem:
Wenn der Client eine Nachricht an den Server schickt, wird diese nur im Server angezeigt, aber nicht im Clienten.

Server:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TfrmMain.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
  i: Integer;
begin
  Memo.Lines.Add(Socket.ReceiveText);
  for i := 0 to server.Socket.ActiveConnections - 1 do
    server.Socket.Connections[i].SendText(Socket.ReceiveText);
end;


Client:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TfrmMain.ClientOnRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Memo.Lines.Add(Socket.ReceiveText);
end;


Kann wer helfen? :)
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 14.04.11 14:37 
Du solltest beim Server vermutlich ReceiveText nur einmal aufrufen und in einer Variablen Zwischenspeichern. Dann kannst Du den Inhalt der Variablen ins Memo einfügen und an die Clients ausschicken.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1258

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 14.04.11 14:39 
Moin!

user profile iconNersgatt hat folgendes geschrieben Zum zitierten Posting springen:
Du solltest beim Server vermutlich ReceiveText nur einmal aufrufen und in einer Variablen Zwischenspeichern. Dann kannst Du den Inhalt der Variablen ins Memo einfügen und an die Clients ausschicken.
Jup, der Tipp ist gut. :zustimm: Und hier gibt´s noch ein paar mehr davon. :les: :think:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Arbengie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 66



BeitragVerfasst: Do 14.04.11 18:58 
Ich hab jetzt ein Problem, das vorher nie auftritt, nämlich ich bekomme zum Server keine Verbindung mehr aufgebaut, obwohl Server und Client auf dem selben PC sind.
Port ist bei Client und Server gleich.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
client.Host := 127.0.0.1;
client.Port := 7777;
client.Active := true;
client.Open;


Und als Fehler wird immer 10049 ausgegeben.
FrEaKY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 235


D7
BeitragVerfasst: Mo 25.04.11 20:12 
user profile iconArbengie hat folgendes geschrieben Zum zitierten Posting springen:
Ich hab jetzt ein Problem, das vorher nie auftritt, nämlich ich bekomme zum Server keine Verbindung mehr aufgebaut, obwohl Server und Client auf dem selben PC sind.
Port ist bei Client und Server gleich.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
client.Host := 127.0.0.1;
client.Port := 7777;
client.Active := true;
client.Open;


Und als Fehler wird immer 10049 ausgegeben.


Auf den ersten Blick: Host sollte ein String sein. Schlägt da der Compiler bei dir nicht Alarm?
Der Error Code bestätigt dies:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
WSAEADDRNOTAVAIL

(10049)

Cannot assign requested address. 

The requested address is not valid in its context. Normally results from an attempt to bind to an address that is not valid for the local machine, or connect/sendto an address or port that is not valid for a remote machine (e.g. port 0).