Hallo,
hab wieder mal ein Problem mit meinem Lan-Chat:
Hab ihne mit folgenden Grundprozeduren aufgebaut:
Server wird eröffnet:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Server.Port:=2350;
Server.open;
end;
Client kontaktiert Zielserver:
Delphi-Quellcode:
{Hab mehrere dieser Radios, beispielsweise einer hier:}
procedure TForm1.Radio1Click(Sender: TObject);
begin
begin
Client.Close;
Status.Caption:='Verbinden mit 192.168.2.105';
Client.Port:=2350;
Client.Host:='192.168.2.105';
Client.open;
Status.Caption:='Verbunden mit 192.168.2.105';
end;
end;
Nachricht übermitteln:
Delphi-Quellcode:
procedure TForm1.SendenClick(Sender: TObject);
begin
//Nachricht ins Nachrichtenfenster:
begin
Nachrichten.SelAttributes.Color:=clgreen;
Nachrichten.Lines.Add('Sie um ' + TimeToStr(Now));
Nachrichten.Lines.add(eingabe.text);
end;
//Senden an Empfänger:
Status.Caption:='Sende Nachricht...';
Client.Socket.SendText(Eingabe.text);
Client.Socket.RemoteHost;
Status.Caption:='Nachricht gesendet';
end;
Und noch das Empfangen der Nachricht:
Delphi-Quellcode:
procedure TForm1.ServerClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var Nachricht:string;
vSender:string;
begin
Nachricht:=Socket.ReceiveText;
Nachrichten.SelAttributes.Color:=clred;
vSender:=Socket.RemoteAddress;
case vSender[13] of
'5':vSender:='Sender 1';
'2':vSender:='Sender 2';
end;
Nachrichten.Lines.Add(vSender+ ' um '+TimeToStr(Now)+':');
Nachrichten.SelAttributes.Color:=clblack;
Nachrichten.Lines.Add(Nachricht);
end;
Jetzt kann ich an mich selber Nachrichten schicken, an andere PCs jedoch nicht...
Der Port muss am Router freigegeben sein, oder?
Wenn ich das erste Mal auf einen der Radiobuttons klicke, kommt das CPU-Fenster - weiß ich nicht warum...
Wo ist der Fehler?
Liebe Grüße!