Citat:
krza: radim neku client/server aplikaciju i po prvi put koristim ttcpclient i ttcpserver komponente. e sad, uspeo sam da posaljem string od clienta ka serveru ali ne mogu nikako obrnuto. ono probam standardno sendln ali iz nekog razloga ne radi. moze li neko da postuje par linija coda o tome?
U čoveče, pa ovo je bio problem još 2005. Ja pokušavam neštoi slično da uradim. Hoću da jednostavno pročim neku stranu. Na primer ovako:
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
with TcpClient1 do
begin
RemoteHost:='www.google.com';
RemotePort:='80';
Connect;
end;
end;
procedure TForm1.TcpClient1Connect(Sender: TObject);
begin
with TcpClient1 do
begin
Sendln('GET / HTTP/1.1');
Sendln('Host: '+RemoteHost);
Sendln('');
end;
end;
procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
begin
ShowMessage('Primio poruku');
Memo1.Lines.Add(Buf);
end;
Ali pošaljem leo zahtev. Sve je uredno jer sam proveravao na svom web serveru. Piše u log fajli kod 200, što znači da je sve u redu što se tiče zahteva. Ali nikako da mi se pokrene okidač za događaj OnReceive, i samim tim ne primam ništa. U pitanju je
Delphi 7, i čitao sam na netu da su i ostali imali probelma sa njim. Ostali koji su ih savetovali šta da rade uglavnom su preporučivali da koriste Indy komponente, jer je stara komponenta TClientSocket izbačena iz Delphi-ja. Ustvari nije izbačena, već se ne instalira nego mora ručno da se doda: Component > Install packages > Add > "c:\program files\borland\delphi\bin\dclsockets70.bpl". Pojaviće se u Internet tabu.