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

Problem s Windows Servisom (BCB)

[es] :: C/C++ programiranje :: Problem s Windows Servisom (BCB)

[ Pregleda: 2561 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

itf
Zagreb

Član broj: 59794
Poruke: 993
*.dsl.iskon.hr.



+9 Profil

icon Problem s Windows Servisom (BCB)29.03.2007. u 08:13 - pre 207 meseci
Windows Servisi mi nisu baš najjača strana pa bi molio za pomoć ako itko zna...

Naime, napravio sam Windows servis koji treba da mijenja neke hardwarske parametre u računalu, a sve te parametre dobiva preko mreže pomoću Indy komponenti (TCP Server). E sad... Stvar je u tome da sam to testirao na običnoj Win32 aplikaciji i sve radi bez problema, no prilikom instalacije i pokretanja servisa Windowsi samo traže da odblokiram port u firewall-u (port koji koristi TCP Server u servisu), dok sama komunikacija Klijent-Server nikako ne radi.

Točnije, bilo kakav zahtjev poslan od strane klijenta ne dođe uopće do TCP servera koji je u servisu. Uopće ne pokrene OnExecute funkciju na Indy TCP serveru kao da ništa mu nije stiglo. Zašto to normalno i ispravno radi u običnoj Win32 aplikaciji, a ne u Windows Servisu? Programski kod je identičan i ne vidim zašto bi igdje bila greška. Hvala
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Problem s Windows Servisom (BCB)29.03.2007. u 09:10 - pre 207 meseci
Citat:

Točnije, bilo kakav zahtjev poslan od strane klijenta ne dođe uopće do TCP servera koji je u servisu. Uopće ne pokrene OnExecute
funkciju na Indy TCP serveru kao da ništa mu nije stiglo. Zašto to normalno i ispravno radi u običnoj Win32 aplikaciji, a ne u Windows
Servisu? Programski kod je identičan i ne vidim zašto bi igdje bila greška. Hvala

Ako je Firewall-u rečeno da oslobodi taj port i ako kod radi na Win32, sve bi trebalo da je u redu. Servisi kod BCB-a rade bez problema.

Kako u kodu servisa DODELJUJEŠ port TIdTCPServer-u?

Ako nemaš ništa protiv mogu da pošaljem kao attachment jedan svoj DEMO projekat:

1) Klijentska aplikacija
2) Serverska aplikacija (Servisna aplikacija + Aplikacija za konfigurisanje i manipulaciju tim servisom)

Soket je Indy.

DEMO je jednostavan:
Na klijentskoj formi ima gomila TEdit-a sa podacima i mesto gde se podešava HOST i PORT. Send tasterom šalje se serveru
sve to.

Server to prima i odmah vraća i vraćeni buffer klijent snima.

Tu je i aplikacija za konfigurisanje servera koja može da pokreće i zaustavlja server i menja port.
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.dsl.iskon.hr.



+9 Profil

icon Re: Problem s Windows Servisom (BCB)29.03.2007. u 09:48 - pre 207 meseci
Može. Zahvaljujem

Inače, port sam dodijelio preko object inspectora i odmah aktivirao server.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Problem s Windows Servisom (BCB)29.03.2007. u 09:56 - pre 207 meseci
zeljko.zip

Dakle:


FOLDER: Client
FOLDER: Server
FOLDER: Cfg
FOLDER: Srv


1. Instalirati server: ticksrv.exe /install
2. Iskopirati tickcfg.exe u isti folder gde je ticksrv.exe
3. Pokrenuti tickcfg.exe
4. START-ovati server
5. (po želji se može promeniti i port koji je u startu isti i kod klijenta i kod servera)
6. pokrenuti c1.exe (prosta klijentska aplikacija)
7. SEND
8. Podaci se salju serveru a on ono sto primi vraca nazad i upisuje u C:\recieved.txt

To je samo DEMO koji sam zapoceo za jedan propali projekat, pa kod treba nastaviti i
zategnuti sa svih strana, pa ako ti bude interesantno i nesto novo dodas, postavi da
preuzmem.
Prikačeni fajlovi
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Problem s Windows Servisom (BCB)29.03.2007. u 10:07 - pre 207 meseci
Citat:

Inače, port sam dodijelio preko object inspectora i odmah aktivirao server.

Onda nije to što sam mislio.

BTW:
Ne znam jesi li rešio problem instaliranja TC++ na Vistu (ja je nemam pa nisam ni instalirao), ali naleteo sam nedavno
na jednu stranicu koji može biti od pomoći:
http://www.drbob42.com/examines/examin84.htm
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.dsl.iskon.hr.



+9 Profil

icon Re: Problem s Windows Servisom (BCB)29.03.2007. u 10:13 - pre 207 meseci
Citat:
X Files: BTW:
Ne znam jesi li rešio problem instaliranja TC++ na Vistu (ja je nemam pa nisam ni instalirao), ali naleteo sam nedavno
na jednu stranicu koji može biti od pomoći:
http://www.drbob42.com/examines/examin84.htm

Nažalost nisam jer se ne može instalirati net framework fix 1.1... A to je jedna od prerequested stvari koje se moraju staviti da bi se uopće htio instalirati Turbo C++...
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.dsl.iskon.hr.



+9 Profil

icon Re: Problem s Windows Servisom (BCB)30.03.2007. u 07:23 - pre 207 meseci
Uspio sam riješiti tek nakon što sam par puta deinstalirao, pa instalirao servis... onda je sve počelo raditi. Mislim da sam i izraz Interactive postavio na true... Ima to kakve veze?

Uglavnom, u onom primjeru ima dosta zanimljivih stvari pa sam ispravio i još neke svoje greške. Zahvaljujem
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Problem s Windows Servisom (BCB)30.03.2007. u 10:18 - pre 207 meseci
Servisi tipično ne bi trebali da imaju 'svoj' GUI, tj, da postavljaju pitanja tipa Yes/No, već
su obavezni da sve svoje probleme i nedoumice rešavaju u letu, kako im je rečeno.

Interactive je namenjen da omogući da u okviru sopstvenog koda, servis ima i tu GUI
funkcionalnost.

Ipak, nikad na netu nisam našao primer koji to tako radi (i da li radi), već je uvek i uvek
savetovano da se menadžment servisom, tj. GUI za podršku servisu odradi kao posebna
aplikacija (koja može biti i Control Panel aplet), pa sam to i prihvatio.

Sasvim je moguće da je i taj Interactive mogao da napravi neki problem, očekujući još
neki međukorak pre pokretanja.

Takođe, sve kritične ili karakteristične trenutke pametno je da servis beleži (barem u fazi
testiranja) ili u svoj LOG ili u glavni LOG OS-a (ControlPanel > Admin Tools > Event Viewer),
a to se postiže sa LogMessage().

Za mene je bilo otkrovenje kada sam uvideo na koliko 'slepih' mesta try {} catch {SLEPO}
je kod dolazio, a mislio sam da taj deo koda cisto formalno stavljam.

Sve ovo govorim iz iskustva: jedan servis sam bio odradio sa BCB4 a instalacija je
odradjena na NT4 sistemu. Servis se stalno zaustavljao (STOP), dok je kao Win32 aplikacija
radio bez problema, na istom tom NT4. Problem je bio u nekom string kopiranju iz VEĆEG[] u
MANJE[], (mislim na rezervisani prostor) što je ne znam kako OS video i naprosto 'ubijao'
servis.

Obrati pažnji i na Sleep(), unutar OnExecute(). Ako se to ukloni TaskManager prijavljuje
zauzetost procesora od 100%, što je najverovatnije 'lažan' podatak, jer sistem i tada
radi bez problema.

I za kraj, koliko sam upoznat, servis sa soketima radi bez problema i POTPUNO BEZ
OnExecute (ServiceExecute). Drugim rečima može se ukloniti, jer to ne mora biti ULAZNA
TAČKA servisa. Već imaš TIdTCPServer koji sve to može da Handluje.

Kažu da je tako servis stabilniji.
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.dsl.iskon.hr.



+9 Profil

icon Re: Problem s Windows Servisom (BCB)30.03.2007. u 10:32 - pre 207 meseci
Da.... Prvo mi je uspjelo da vrati odgovor klijentu, ali ShowMessage potvrde nikako (unutar servisa). Mislim da i jest fora u tom Interactivu.... Ne samo da nije ShowMessage radio, već i zapisivanje u datoteku nije išlo. Znači... samo vrati odgovor klijentu i dalje me ne doživljava...

No, sad sve radi. Sad sam na poslu, no svakako to kanim još ponoviti sa par servisa da utvrdim što se točno događa.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem s Windows Servisom (BCB)

[ Pregleda: 2561 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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