Einzelnen Beitrag anzeigen

i2keilko

Registriert seit: 22. Jul 2005
2 Beiträge
 
#1

String vom Server an Client Schicken (TCP Socket)

  Alt 22. Jul 2005, 11:36
Hab mich jetz glaub ich durch das gesammte Internet gewühlt und nichts brauchbares gefunden!

Habe folgenden Seite gefunden die nützlich war! (Vielleicht kanns ja der eine oder andere mal brauen)
Link1


folgendes einfache Problemchen:

Ich habe einen TCP Server (ServerSocket1)

Der soll Daten von einem Programm(Bereits vorhanden) empfangen. Gelegentlich soll aber auch ein TextString an den Client übertragen werden.

Es gibt nur einen Client.

Empfangen ist ja kein problem dank dem OnClientRead Event.

Aber wie kann ich nun Daten an den Cleint schicken? Und das auch noch zu einem Zeitpunkt den ich bestimme (z.B in einem ONclickButton event)


Delphi-Quellcode:
{Es gibt die Funktion SendText, aber die gibt mir eben immer die Zugriffsverletzung zurück! Egal wie und wo ich die Funktion aufrufe   }
Socket.SendText('BlaBlaBla');

procedure TForm1.ServerSocket1Accept(Sender: TObject;
  Socket: TCustomWinSocket);
begin
    Memo1.Lines.Add('OnAccept');
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Memo1.Lines.Add('OnClientConnect');

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Open;
end;

procedure TForm1.ServerSocket1Listen(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('OnListen');
end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Disconennect');
end;

procedure TForm1.ServerSocket1ClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
Memo1.Lines.Add('On errror' + IntToStr(ErrorCode));
end;

procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('OnClientWrite');
end;

procedure TForm1.ServerSocket1GetSocket(Sender: TObject; Socket: Integer;
  var ClientSocket: TServerClientWinSocket);
begin
Memo1.Lines.Add('Get Socket');
end;
Währe auch für ne NÜTZLICHE Antwort sehr Dankbar!

MFG qq
  Mit Zitat antworten Zitat