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

INDY FTP zakuca program?

[es] :: Pascal / Delphi / Kylix :: INDY FTP zakuca program?

[ Pregleda: 2710 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.dynamic.isp.telekom.rs.



+4 Profil

icon INDY FTP zakuca program?19.11.2012. u 08:26 - pre 138 meseci
Pozdrav,

imam problem sa slanjem i prijemom podataka, server-client, komunikaciju radim pomoću indy 10 ftp komponente, naime, u većini slučajeva sve bude ok, al nekad se zakuca client prilikom slanja/prijema podataka i ništa bez Ctrl+Alt+Del.
Program je rađen u Delphi 7. Fajlovi su svi zipovani prije slanja i prijema tako da su jako mali da bi oni napravili neki problem. Client aplikacije se nalaze na laptopovima i koriste telenorov usb internet, dok je server povezan sa telekomovim adsl-lom.
Operativni sistem na svim računarima je Win 7, na clientima starter a na serveru Home Basic, mada mislim da to nema nikakve veze sa problemom.
Funkcija za slanje i prijem:
1.Konektovanje na server
2.Prijem podataka
4.Diskonektovanje sa servera
1.Konektovanje na server
3.Slanje podataka
4.Diskonektovanje sa servera
Dal možda pravi problem što se više puta u jednoj funkciji vrši povezivanje i raskid veze sa serverom il šta već?

Nikad izvini!
 
Odgovor na temu

anon295157

Član broj: 295157
Poruke: 27
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: INDY FTP zakuca program?19.11.2012. u 08:48 - pre 138 meseci
Bez koda je tesko reci. Da li je thread-ovana aplikacija?
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: INDY FTP zakuca program?19.11.2012. u 09:11 - pre 138 meseci
Code:

            Status.Panels.Items[2].Text:='Provera veze sa serverom...';
            Update;
            f.Host := Opcije.ServerHost.Text;
            f.Username := Opcije.ServerKIme.Text;
            f.Password := Opcije.ServerLozinka.Text;
            f.Connect;
            sleep(100);
            f.changedir(Opcije.ServerDirTransfera.Text+'/Prijem/');
            if f.Size(ADORadneJediniceoznaka.AsString+'.zip') > 0 then
               begin
                 MessageDlg('Na serveru se nalaze neraspakovani podac transfera, molimo vas da kontaktirate administratora!',mtWarning,[mbOK],0);
                 Status.Panels.Items[2].Text:='';
                 f.Disconnect;
                 abort;
               end;
            f.Disconnect;
            Status.Panels.Items[2].Text:='Veza sa serverom je ispravna...';
            sleep(100);
         end;

         // Slanje i prijem podataka
      if (Sinhronizacija.SlanjePod.Checked) and (Opcije.ServerTipKlient.Checked) then
         begin
            Status.Panels.Items[2].Text:='Povezivanje na server...';
            Update;
            f.Host := Opcije.ServerHost.Text;
            f.Username := Opcije.ServerKIme.Text;
            f.Password := Opcije.ServerLozinka.Text;
            f.Connect;
            Status.Panels.Items[2].Text:='Slanje podataka...';
            Update;
            f.changedir(Opcije.ServerDirTransfera.Text+'/Prijem/');
            ADORadneJedinice.Locate('aktivan',true,[]);
            ProgressBar1.Max := GetSizeOfFile(ExtractFilePath(Application.ExeName)+Opcije.ServerDirTransfera.Text+'\Slanje\'+ADORadneJediniceoznaka.AsString+'.zip');
            ProgressBar1.Position :=0;
            f.Put(ExtractFilePath(Application.ExeName)+Opcije.ServerDirTransfera.Text+'\Slanje\'+ADORadneJediniceoznaka.AsString+'.zip');
            Status.Panels.Items[2].Text:='Brisanje fajlova...';
            Update;
            DeleteFile(ExtractFilePath(Application.ExeName)+Opcije.ServerDirTransfera.Text+'\Slanje\'+ADORadneJediniceoznaka.AsString+'.zip');
            f.Disconnect;
         end;
    if (Sinhronizacija.SlanjePod.Checked) and (Opcije.ServerTipKlient.Checked) then
         begin
            Status.Panels.Items[2].Text:='Povezivanje na server...';
            Update;
            f.Host := Opcije.ServerHost.Text;
            f.Username := Opcije.ServerKIme.Text;
            f.Password := Opcije.ServerLozinka.Text;
            f.Connect;
            Status.Panels.Items[2].Text:='Prijem podataka...';
            Update;
            f.changedir(Opcije.ServerDirTransfera.Text+'/Slanje/');
            if f.Size(ADORadneJediniceoznaka.AsString+'.zip') > 0 then
               begin
                  ProgressBar1.Max:=f.Size(ADORadneJediniceoznaka.AsString+'.zip');
                  ProgressBar1.Position:=0;
                  f.Get(ADORadneJediniceoznaka.AsString+'.zip',ExtractFilePath(Application.ExeName)+Opcije.ServerDirTransfera.Text+'\Prijem\'+ADORadneJediniceoznaka.AsString+'.zip');
                  f.Delete(ADORadneJediniceoznaka.AsString+'.zip');
               end;
            f.Disconnect;



[Ovu poruku je menjao savkic dana 19.11.2012. u 14:28 GMT+1]
Nikad izvini!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: INDY FTP zakuca program?19.11.2012. u 13:33 - pre 138 meseci
> imam problem sa slanjem i prijemom podataka, server-client, komunikaciju radim pomoću indy 10 ftp komponente, naime, u većini slučajeva sve bude ok, al nekad se zakuca client prilikom > slanja/prijema podataka i ništa bez Ctrl+Alt+Del.

Ti na početku radiš i proveru veze tj. opet ide connect/disconnect. Po kodu se u jednoj metodi tri puta radi povezivanje/diskonektovanje, ne znam da li to pravi problem ali svakako je nepotrebno, konektuj se na početku, uradi sve što treba (primi, pošalji) pa se diskonektuj.
Gde se tačno desi problem, tj. gde se progam zaglupi?
 
Odgovor na temu

komplikator
Programer / sys. inženjering
CRO

Član broj: 29755
Poruke: 158
..140.218-dsl.net.metronet.hr.

ICQ: 13387003


+8 Profil

icon Re: INDY FTP zakuca program?19.11.2012. u 14:57 - pre 138 meseci
Pomaže li IdAntifriezze na formi i/ili Application.Processmessages ?
God is real unless is declared as integer.
 
Odgovor na temu

anon295157

Član broj: 295157
Poruke: 27
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: INDY FTP zakuca program?19.11.2012. u 15:54 - pre 138 meseci
Evo zvanicnog Indy 10 ftp client primera:
http://www.indyproject.org/DemoDownloads/Indy_10_FTPClient.zip
Primer za server:
http://www.indyproject.org/DemoDownloads/Indy_10_FTPServer.zip
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: INDY FTP zakuca program?19.11.2012. u 16:40 - pre 138 meseci
A mozes i OverbyteICS pack da koristis umesto Indy-a (www.overbyte.be)
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: INDY FTP zakuca program?20.11.2012. u 07:16 - pre 138 meseci
Zhavaljujem se na pomoći, izmenio sam kod i stavio jednu konekciju/diskonekciju pa sam instalirao ponovo program na client računare pa ću da ispratim dal će doći do greške.

Šta se dešava kad se na server u isto vreme nakači više client aplikacija i vrše transfer podataka, dal postoji neki način da se postave prioriteti il izvrši provera prije slanja dal je server zauzet?
Možda je u tome problem, pošto većina client aplikacija šalje podatke u isto vreme. Dal ima neko neki predlog il rešenje za ovu vrstu problema?
Nikad izvini!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: INDY FTP zakuca program?20.11.2012. u 12:50 - pre 138 meseci
> Šta se dešava kad se na server u isto vreme nakači više client aplikacija i vrše transfer podataka, dal postoji neki način da se postave prioriteti il izvrši
> provera prije slanja dal je server zauzet?

Pre nego pokuša da se poveže to ne može znati, Server npr. može odbiti vezu ako je preopterećen, ako radiš i Server onda je to lako ostvarljivo.
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: INDY FTP zakuca program?29.11.2012. u 10:22 - pre 137 meseci
Pozdrav,

nisam puno napredovao sa problemom, postavio sam connect na početku i disconect na kraju procedure al opet mi se javljaju greške prilikom slanja i prijema podataka sa servera. Mislim da je problem u tome što se u isto vreme nakači više client aplikacija i moja procedura za slanje/prijem napravi neki zez na serveru, vjerovatno zato što se menja direktorijum (sa f.changedir) u isto vreme, i server se zbuni (valjda) i zakuca. Nisam ranije imao iskustva sa ovim FTP komponentama, tako da teško mogu odgonetnuti u čemu je džidža. Kad pristupim sa jednog client računara, sve je ok, al kad se nakači više tu nastaje problem.

Dal postoji neki elegantniji način da se izvrši transfer podataka u jednom i drugom pravcu, a da ne dođe do pucanja?

Nikad izvini!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: INDY FTP zakuca program?29.11.2012. u 16:21 - pre 137 meseci
> nisam puno napredovao sa problemom, postavio sam connect na početku i disconect na kraju procedure al opet mi se javljaju greške prilikom
> slanja i prijema podataka sa servera.

Koja tačno greška, zaglupi se klijent aplikacija? Gde tačno?

> (valjda) i zakuca. Nisam ranije imao iskustva sa ovim FTP komponentama, tako da teško mogu odgonetnuti u čemu je džidža. Kad pristupim sa jednog client računara,
> sve je ok, al kad se nakači više tu nastaje problem.

To ne sme uticati na FTP server, da li je to tvoj ftp server rađen u Delphiju ili si uzeo neki gotovi?

> Dal postoji neki elegantniji način da se izvrši transfer podataka u jednom i drugom pravcu, a da ne dođe do pucanja?

Preko TCP/IP veze.
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.adsl.eunet.rs.



+4 Profil

icon Re: INDY FTP zakuca program?29.11.2012. u 16:43 - pre 137 meseci
FTP server je u mojoj aplikaciji, ja sam ga napravio.

Koristio sam kontrole i operacije kao i u demo projektu koji sam našao na netu i po uzoru na njih napravio iste.
Indy 10 FTP Client Demo i
Indy 10 FTP Server Demo

Client se nekad zakuca kod slanja a nekad kod prijema, kreira fajl al ga ne kopira celog i tu se zakuca, na serveru ostane otvorena veza za tim clientom, i na njemu ne mogu izbrisati taj primljeni fajl sve dok ne resrartujem aplikaciju iako je client aplikacija prekinula vezu sa serverom, i kod clienta se ito tako kreira prazan fajl al ga ne kopira, zakuca se i može proći sat vremena i ništa neće da se desi.

Problem je što ja kod sebe ne mogu da natjeram clienta da to uradi da bi video grešku, jer kod mene radi sve kako treba, šalje i prime sve kako treba na server.

Ipak mislim da je nešto u vezi promene direktrijuma na serveru, al ne mogu da provalim kako da saniram.

Većina client aplikacija šalje/prima podatke u isto vreme, barem bi trebalo, pošto su instalirane u mp objektima koji rade do 8h i tad šalji izveštaje.
Od 10 jedna se zakuca, sad jel to slučajnost da su vremenski razdvojene tih 9 konekcija pa sve ide kako treba a jedna se poklopila sa nekom od tih ne mogu da provalim. Kad je sve OK slanje/prijem traje najduže 10 sekundi.

[Ovu poruku je menjao salvaric dana 29.11.2012. u 17:54 GMT+1]
Nikad izvini!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: INDY FTP zakuca program?29.11.2012. u 20:55 - pre 137 meseci
> FTP server je u mojoj aplikaciji, ja sam ga napravio.

> Koristio sam kontrole i operacije kao i u demo projektu koji sam našao na netu i po uzoru na njih napravio iste.
> Indy 10 FTP Client Demo i
> Indy 10 FTP Server Demo

Savetujem ti da privremeno zameniš tvoj FTP server sa nekim besplatnim FTP server programom, ima ih dosta, tako ćeš utvrditi gde je problem u tvom server kodu ili u mobilnoj internet vezi.

> Client se nekad zakuca kod slanja a nekad kod prijema, kreira fajl al ga ne kopira celog i tu se zakuca, na serveru ostane otvorena veza za tim clientom, i na njemu
> ne mogu izbrisati taj primljeni fajl sve dok ne resrartujem aplikaciju iako je client aplikacija prekinula vezu sa serverom, i kod clienta se ito tako kreira prazan fajl al ga ne
> kopira, zakuca se i može proći sat vremena i ništa neće da se desi.

Trebalo bi da postoje neki timeouti koji se mogu podesiti u FTP komponentama tako da se veza brže prekine.
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: INDY FTP zakuca program?20.04.2013. u 10:35 - pre 133 meseci
Pozdrav društvo,

dosadan sam sa ovim, al moram da rešim nekako.

Dal postoji neki način da server pošalje poruku clientu u trenutku kad se client konektuje na njega da je zauzet u koliko je drugi client nakačen na njega, da ubacim while petlju za za neki interval koji će proveravati server dok se ne oslobodi,pa onda tek put i get komande na clientu?
Nikad izvini!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: INDY FTP zakuca program?20.04.2013. u 11:37 - pre 133 meseci
> Dal postoji neki način da server pošalje poruku clientu u trenutku kad se client konektuje na njega da je zauzet u koliko je drugi client
> nakačen na njega, da ubacim while petlju za za neki interval koji će proveravati server dok se ne oslobodi,pa onda tek put i get komande na clientu?

Da li ti imaš kontrolu nad kodom servera? Prosto stavi da odbije novu konekciju ako već ima postojeću.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: INDY FTP zakuca program?

[ Pregleda: 2710 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

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