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;