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