Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

TCPclient i TCPserver

[es] :: Pascal / Delphi / Kylix :: TCPclient i TCPserver

[ Pregleda: 1851 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nikola Krzalic
IT Specialist, IBM
Brno, Czech Republic

Član broj: 68680
Poruke: 527
*.ptt.yu.

Sajt: www.krzalic.com


Profil

icon TCPclient i TCPserver31.10.2005. u 21:13

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?
Ima neko zlo u ljudima...
31.10.2005. u 21:13 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: TCPclient i TCPserver31.10.2005. u 21:17
Zasto ne koristis Indy komponente za komunikaciju? Besplatne su i mnogo su dobre, a idu sa Delphi-em
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
31.10.2005. u 21:17 

cacafaca
Nemanja Simovic
Beograd, Voždovac

Član broj: 49511
Poruke: 163
77.46.164.*

ICQ: 68999229
Sajt: cacafaca.gotdns.com


Profil

icon Re: TCPclient i TCPserver25.10.2009. u 09:32
Laptopovi

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.
25.10.2009. u 09:32 

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 167
*.adsl-a-1.sezampro.yu.



Profil

icon Re: TCPclient i TCPserver27.10.2009. u 14:18
Koristio sam TClientSocket i TServerSocket za telnet, ftp, pop i smtp protokole i nije bilo problema. Koliko vidim, neće biti problema ni u d2010. TcpClient nisam koristio ali primer za TcpClient konektovanje se može naći pretragom po demo primerima.

TcpClient će da proradi kada se u gornjem kodu, u Button1Click, zameni: "Connect;", sa: "Active := true;" ili: "Open;".

ES Browser 1.1 - koristi Internet Explorer WebBrowser kontrolu za pristup ES forumu.
Pretraga - Indeksirano pretraživanje dokumenta (doc ... pdf ... html ...) i tekstualnih fajlova.
27.10.2009. u 14:18 

p.zivanovic
Predrag Zivanovic
Beograd

Član broj: 111825
Poruke: 29
93.87.249.*

Sajt: www.biznisoft.com


Profil

icon Re: TCPclient i TCPserver31.10.2009. u 23:04
Hm ... pa ovo bi trebalo da bude prosto:

Slanje stringa od klijenta ka serveru:

IdTCPClient2.IOHandler.WriteLn('saljem neki string ...');
....
.... cekam da mi server odgovori ....
s:=IdTCPClient2.IOHandler.ReadLn;
..................

Ja sam koristio sledeće rešenje kada jednostavno prikazujem poruke servera dok ne dobijem string #### koji označava kraj "konverzacije"

try
s:=IdTCPClient2.IOHandler.ReadLn;
while not (s='####') do
begin
Memo1.lines.add(s);
s:=IdTCPClient2.IOHandler.ReadLn;
end;
finally
IdTCPClient2.Disconnect;
idtcpclient2.free;
end;

Nadam se da sam bio od pomoći.
31.10.2009. u 23:04 

[es] :: Pascal / Delphi / Kylix :: TCPclient i TCPserver

[ Pregleda: 1851 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.