Einzelnen Beitrag anzeigen

Benutzerbild von Dyami
Dyami

Registriert seit: 24. Sep 2013
Ort: Schleswig-Holstein
25 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: TClientSocket führt keine Events aus

  Alt 24. Mai 2019, 06:50
Hallo,

mir geht es theoretisch rein um das Senden einer Anfrage an einen Server.
Ich habe auf der anderen Seite einen Server (TServerSocket).

Wenn ich nun mein Client mit dem Server verbinde also  FEingangsSocket.Active := True; dann zeigt mir mein Server auch an, dass ein Client sich verbunden hat.
Nun will ich eine Nachricht an den Server senden, aber diese Nachricht kommt vom Client nie am Server an, deswegen frage ich, was ich falsch mache.

Mein Ziel ist es, dass ich später mit einer STX + Daten + ETX Anfrage, Daten vom Server als Antwort bekomme.
Das mit dem STX und ETX habe ich aktuell noch nicht eingebaut, weil ich es erstmal einfach haben wollte.



Delphi-Quellcode:
procedure InitSocketAndSendRequest;
begin
  FEingangsSocket := TClientSocket.Create(nil);
  FEingangsSocket.Host := '127.0.0.1';
  FEingangsSocket.Port := '8080';
  FEingangsSocket.Socket.ASyncStyles := [asRead, asWrite, asOOB, asAccept, asConnect, asClose];
  FEingangsSocket.OnRead := MyOnRead;
  FEingangsSocket.OnWrite := MyOnWrite;
  FEingangsSocket.ClientType := ctBlocking;
  setsockopt(FEingangsSocket.Socket.SocketHandle, IPPROTO_TCP, TCP_NODELAY, PAnsiChar(1), 4);
  FEingangsSocket.Active := True;
  Application.ProcessMessages;

 FEingangsSocket.Socket.SendText('WE WUMSCH V');// Text-Senden
end;

procedure MyOnRead(Sender: TObject; Socket: TCustomWinSocket);
begin
  FPrüfText := string(FEingangsSocket.Socket.ReceiveText); //Text auslesen
end;

procedure MyOnWrite(Sender: TObject; Socket: TCustomWinSocket);
begin
  ShowMessage('TEST');
end;
Philipp
  Mit Zitat antworten Zitat